专栏首页云计算教程系列最全的CentOS MariaDB入门教程
原创

最全的CentOS MariaDB入门教程

MariaDB是流行的跨平台MySQL数据库管理系统的分支,被认为是MySQL 的完全替代品。MariaDB是由Sun在Sun Microsystems合并期间被Oracle收购后,于2009年由MySQL的一位原始开发人员创建的。今天,MariaDB由MariaDB Foundation和社区贡献者维护和开发,同时腾讯云提供云数据库 MariaDB(TencentDB for MariaDB)让您轻松在云端部署、使用 MariaDB 数据库。

MariaDB将MySQL替换为CentOS 7存储库中的默认数据库系统。虽然将MySQL安装到CentOS 7并不困难,但是如果您只需要一个数据库,建议使用MariaDB进行官方支持,并且与其他存储库软件不兼容的可能性很小。

注意: 本教程是为非root用户编写的。需要有使用sudo的权限。

没有服务器的用户可以购买和使用腾讯云服务器或者直接在腾讯云实验室CentOS服务器直接上机体验安装MariaDB。

开始之前

  1. 要检查您的主机名:
   hostname
   hostname -f

第一个命令应显示您的短主机名,第二个命令应显示您的完全限定域名(FQDN)。

  1. 更新您的系统:
   sudo yum update

安装并启动MariaDB

sudo yum install mariadb-server

启用MariaDB以在启动时启动,然后启动该服务:

sudo systemctl enable mariadb
sudo systemctl start mariadb

默认情况下,MariaDB将绑定到localhost(127.0.0.1)。

注意

允许在公共IP上不受限制地访问MariaDB,但是您可以在/etc/my.cnf中通过修改bind-address参数来更改它侦听的地址。如果您决定将MariaDB绑定到公共IP,则应实施仅允许来自特定IP地址连接的防火墙规则。

保护MariaDB服务器

  1. 运行mysql_secure_installation脚本以解决默认MariaDB安装中的几个安全问题:
   sudo mysql_secure_installation

您可以选择更改MariaDB root密码,删除匿名用户帐户,禁用localhost之外的root登录,以及删除测试数据库。建议您对这些选项回答yes

使用MariaDB

与MariaDB交互的标准工具是mariadb客户端,它随mariadb-server包一起安装。MariaDB客户端通过终端使用。

Root登录

  1. 以root用户身份登录MariaDB:
   mysql -u root -p
  1. 出现提示时,输入当mysql_secure_installation脚本运行时分配的root密码。

然后,您将看到欢迎标题和MariaDB提示,如下所示:

   MariaDB [(none)]>
  1. 要为MariaDB提示生成命令列表,请输入\h。然后你会看到:
   List of all MySQL commands:
   Note that all text commands must be first on line and end with ';'
   ?         (\?) Synonym for `help'.
   clear     (\c) Clear the current input statement.
   connect   (\r) Reconnect to the server. Optional arguments are db and host.
   delimiter (\d) Set statement delimiter.
   edit      (\e) Edit command with $EDITOR.
   ego       (\G) Send command to mysql server, display result vertically.
   exit      (\q) Exit mysql. Same as quit.
   go        (\g) Send command to mysql server.
   help      (\h) Display this help.
   nopager   (\n) Disable pager, print to stdout.
   notee     (\t) Don't write into outfile.
   pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
   print     (\p) Print current command.
   prompt    (\R) Change your mysql prompt.
   quit      (\q) Quit mysql.
   rehash    (\#) Rebuild completion hash.
   source    (\.) Execute an SQL script file. Takes a file name as an argument.
   status    (\s) Get status information from the server.
   system    (\!) Execute a system shell command.
   tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
   use       (\u) Use another database. Takes database name as argument.
   charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
   warnings  (\W) Show warnings after every statement.
   nowarning (\w) Don't show warnings after every statement.
   
   For server side help, type 'help contents'
   
   MariaDB [(none)]>

创建一个新的MariaDB用户和数据库

  1. 在下面的示例中,testdb是数据库的名称,testuser是用户,password是用户的密码:
   create database testdb;
   create user 'testuser'@localhost identified by 'password';
   grant all on testdb.* to 'testuser' identified by 'password';

您可以通过在分配数据库权限时创建用户来缩短此过程:

   create database testdb;
   grant all on testdb.* to 'testuser' identified by 'password';
  1. 然后退出MariaDB:
   exit

创建示例表

  1. 重新登录testuser
   mysql -u testuser -p
  1. 创建一个名为customers的示例表。这将创建一个表,其中包含INT整数类型的客户ID字段(对于新记录自动递增,用作主键),以及用于存储客户名称的两个字段:
   use testdb;
   create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
  1. 查看新表:
   show tables;
  1. 然后退出MariaDB:
   exit

重置MariaDB Root密码

如果您忘记了root MariaDB密码,则可以重置密码。

  1. 停止当前的MariaDB服务器实例,然后使用不要求输入密码的选项重新启动它:
   sudo systemctl stop mariadb
   sudo mysqld_safe --skip-grant-tables &
  1. 使用MariaDB root帐户重新连接到MariaDB服务器:
   mysql -u root
  1. 使用以下命令重置root的密码。用强密码替换password
   use mysql;
   update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
   flush privileges;
   exit
  1. 然后重启MariaDB:
   sudo systemctl start mariadb

优化MariaDB

MySQL Tuning Primer可用于优化MariaDB服务器。理想情况下,MariaDB实例应该在运行Tuner之前至少运行24小时。实例运行的时间越长,MySQL Tuner给出的建议就越好。

  1. 该脚本需要安装bc语言:
   sudo yum install bc
  1. 将MySQL Tuner下载到您的主目录并使其可执行:
   wget http://www.day32.com/MySQL/tuning-primer.sh
   chmod u+x tuning-primer.sh
  1. 运行它:
   sudo ./tuning-primer.sh

系统将询问您是否要针对与/var/lib/mysql/mysql.sock不同的MySQL socket 运行脚本。选择N。然后会询问您是否有登录信息。输入y,然后询问时输入凭据。

MySQL Tuning Primer是优化MariaDB服务器的一个很好的起点。

更多信息

有关此主题的其他信息,您可能需要参考以下资源,想学习更多如何使用MariaDB的用户请前往腾讯云+社区学习更多知识。


参考文献:《How to Install MariaDB on CentOS 7》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 18.04上安装Redis

    Redis是一个内存中的键值存储器,以其灵活性,性能和广泛的语言支持而闻名。它通常用作数据库,缓存和消息代理,并支持各种数据结构。

    吴凌云
  • 如何使用tmux终端多路复用器

    TMUX是终端多路复用器。类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在...

    吴凌云
  • 如何在Ubuntu 14.04上备份和还原Redis数据

    Redis是一个键值缓存的数据库,它可以持久保存(永久保存)到磁盘存储(即数据库)中。在本文中,您将了解如何在Ubuntu 14.04服务器上备份Redis数据...

    吴凌云
  • 如何在 CentOS 8 上安装 MariaDB

    MariaDB 是一个开源的关系型数据库管理系统,向后兼容,可替代 MySQL。它是由 MySQL 的一些原开发者和很多社区成员共同开发的。

    雪梦科技
  • What's New in MariaDB 10.4

    MariaDB 10.4 是其当前的开发分支。 5 月 21 日, 10.4.5 的 RC release 版本发布,距离正式版本发布越来越近。 10.4 的新...

    yzsDBA
  • 如何在Debian 9上设置MariaDB

    MariaDB是MySQL的直接替代品。它致力于成为寻求强大,可扩展且可靠的SQL Server的数据库专业人员的合理选择。本指南将帮助初学者在Debian 9...

    Techeek
  • MariaDB数据库整合Tableau商业智能功能

    感谢MariaDB公司的工程副总裁 David Thompson,最近在MariaDB整合加入了Tableau软件。 Tableau是一个提供商业智能集成的可视...

    企鹅号小编
  • 如何在 Ubuntu 20.04 上安装 MariaDB

    本文最先发布在:https://www.itcoder.tech/posts/how-to-install-mariadb-on-ubuntu-20-04/

    雪梦科技
  • 如何在Debian 9上安装MariaDB

    MariaDB是一个开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分代替M...

    苏子晨
  • 如何在CentOS 7上安装MariaDB

    MariaDB是一个开源数据库管理系统,通常作为流行的LEMP(Linux,Nginx,MySQL/ MariaDB,PHP / Python /Perl)运行...

    温浪

扫码关注云+社区

领取腾讯云代金券