摘要
CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
全部删除MySQL/MariaDB
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
删除现有软件包
使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用rpm -e --nodeps mariadb-*全部删除:
1 | [admin@dev ~]$ rpm -qa | grep mariadb |
清理MySQL
使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
1 | [admin@dev ~]$ sudo yum remove mysql mysql-server mysql-libs compat-mysql51 |
配置MariaDB
开始新的安装, 创建MariaDB.repo文件
1 | sudo vi /etc/yum.repos.d/MariaDB.repo |
新增以下内容:
1 | # MariaDB 10.2 CentOS repository list - created 2017-11-11 03:24 UTC |
系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna
安装MariaDB
1 | sudo yum -y install MariaDB-server MariaDB-client |
安装成功之后启动MariaDB服务。
1 | systemctl start mariadb #启动服务 |
登录到数据库
用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。
初始化配置
进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。1
mysql_secure_installation
初始化MariaDB完成,接下来测试登录1
mysql -uroot -ppassword
配置MariaDB的字符集
查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。
使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加1
2
3
4
5init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
文件/etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
1 | default-character-set=utf8 |
全部配置完成,重启mariadb
1 | systemctl restart mariadb |
之后进入MariaDB查看字符集
1 | mysql> show variables like "%character%";show variables like "%collation%"; |
显示结果:
1 | +--------------------------+----------------------------+ |
字符集配置完成。
添加用户,设置权限
创建用户命令
1 | MariaDB [(none)]> create user dev@localhost identified by 'dev123456'; |
授予外网登陆权限
1 | MariaDB [(none)]> grant all privileges on *.* to dev@'%' identified by 'dev123456'; |
授予权限并且可以授权
1 | grant all privileges on *.* to dev@'hostname' identified by 'dev123456' with grant option; |
查看结果:
1 | MariaDB [mysql]> select host,user,password from user; |
防火墙记得开放3306端口1
2sudo firewall-cmd --zone=public --permanent --add-port=3306/tcp
service firewalld restart