说明:
CentOS7中内置Mariadb,Mariadb是mysql的分支。
1.卸载:
[root@host-xx ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
[root@host-xx ~]# yum remove mariadb
2. 删除遗留目录
[root@host-xx ~]# ls /etc/my.cnf
/etc/my.cnf
[root@host-xx ~]# rm -rf /etc/my.cnf
[root@host-xx ~]# ll /var/lib/mysql/
总用量 28704
-rw-rw---- 1 mysql mysql 16384 3月 20 15:36 aria_log.00000001
-rw-rw---- 1 mysql mysql 52 3月 20 15:36 aria_log_control
-rw-rw---- 1 mysql mysql 18874368 3月 20 15:36 ibdata1
-rw-rw---- 1 mysql mysql 5242880 3月 20 15:36 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 3月 20 14:17 ib_logfile1
drwx------ 2 mysql mysql 4096 3月 20 14:17 mysql
drwx------ 2 mysql mysql 4096 3月 20 14:17 performance_schema
drwx------ 2 mysql mysql 4096 3月 20 14:17 test
[root@host-xx ~]# rm -rf /var/lib/mysql/
3.重新安装
[root@host-xx ~]# yum install -y mariadb mariadb-server
[root@host-xx ~]# systemctl start mariadb
#设置开机启动
[root@host-xx ~]# systemctl enable mariadb
#执行常规化安全设置(此过程中可以添加root密码,删除匿名登录账户,禁止远程使用root用户登录,删除测试数据库和使用)
[root@host-xx ~]# mysql_secure_installation
Enter current password for root (enter for none):<–直接回车
Set root password? [Y/n] <–y
New password: <– 设置root用户的密码
Re-enter new password: <– 再输一次
Remove anonymous users? [Y/n] <– 是否删除匿名用户,y
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,y
Remove test database and access to it? [Y/n] <– 是否删除test数据库,y
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,y
4.配置字符集
[root@host-xx ~]# vi /etc/my.cnf
#添加
[mysqld]
init_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
[root@host-xx ~]#vi /etc/my.cnf.d/client.cnf
#在[client]中添加
default-character-set=utf8
[root@host-xx ~]#vi /etc/my.cnf.d/mysql-clients.cnf
#在[mysql]中添加
default-character-set=utf8
#全部配置完成,重启mariadb
systemctl restart mariadb
5.登陆数据库
[root@host-xx ~]# mysql -uroot -p
6.添加用户,设置权限
#创建用户并授予网络权限
MariaDB[(none)]>use mysql;
MariaDB[(mysql)]>grant all privileges on *.* to username@'%' identified by 'password';
#创建用户并授予网络权限并且可以授权
MariaDB[(mysql)]>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;
MariaDB[(mysql)]>flush privileges;
7.设置防火墙
[root@host-xx ~]#firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@host-xx ~]#firewall-cmd --reload
8.其他
#查看端口号
MariaDB [(none)]>show global variables like 'port';
#查看权限分配:
MariaDB[(none)]>use mysql;
MariaDB[(none)]>select user,password,host from user;