CentOS 7上安装MySQL 8并设置支持utf8mb4字符集详细过程

CentOS 7上安装MySQL 8并设置支持utf8mb4字符集详细过程

这篇文章主要介绍在CentOS7上安装MySQL8并设置字符集utf8mb4以支持「emoji表情」等特殊字符,下面的方法已经过小编的验证,请放心使用。不过,请认准版本,其他版本不保证可行,经测试,假如你的CentOS是8版本,或者Mysql是5x版本都或多或少会有问题,因为有一些设置细节是不一样的,比如MySQL5.7 和 MySQL8.0 密码验证插件其实变量名是不一样的(*_password_policy 和 *_password.policy )这个问题将导致在更新Mysql支持弱密码时会报类似于下面的错误:「ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'」,所以大家一定要认准版本!下面开始介绍

1、安装MySQL 8:

首先,你需要添加MySQL官方的YUM仓库以及安装MySQL服务器,在终端中执行以下命令:

sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 
sudo yum install mysql-community-server

这里一定要注意:如果安装的过程提示了:mysql-community-client-8.0.36-1.el7.x86_64.rpm 的公钥尚未安装,,则在命令行末尾加上--nogpgcheck即可

yum -y install mysql-community-server --nogpgcheck

2、配置MySQL

打开配置文件

vim /etc/my.cnf

[mysqld]节点下输入

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

按Shift+:wq!保存并退出命令行

3、启动MySQL服务并设置开机自启:

sudo systemctl start mysqld
sudo systemctl enable mysqld

4、查找初始密码(在第一次登录时就是用这个密码):

sudo grep 'temporary password' /var/log/mysqld.log

5、使用初始密码登录MySQL,执行登录命令后,粘贴刚才复制的密码

mysql -u root -p

6、设置数据库支持弱密码

set global validate_password.policy=0;
set global validate_password.length=1;

7、修改数据库密码,其中‘tongzhewang’即为新密码

alter user 'root'@'localhost' identified by 'tongzhewang';

8、设置允许远程登录

create user 'root'@'%' identified by 'tongzhewang';
grant all privileges on *.* to 'root'@'%';

9、最后刷新权限,大功告成

flush privileges;

总结:

经过以上设置就可以在Mysql客户端(Navicat)通过ip以及密码的方式进行远程连接数据库了,并且当前数据库支持创建字符集为utf8mb4的数据库及表。