CentOS 8 上安装 MySQL
文章目录
一、在 CentOS 8 上安装 MySQL 8.0
以 root 或者其他有 sudo 权限的用户身份,通过使用 CentOS 包管理器来安装 MySQL 8.0 服务器:
sudo dnf install @mysql
@mysql模块会安装 MySQL 和所有依赖安装包。
一旦安装完成,启动 MySQL 服务并且启用开机启动功能,运行下面的命令:
sudo systemctl enable --now mysqld
检查 MySQL 服务器是否正在运行,输入:
sudo systemctl status mysqld
二、mysql-secure(可选坑)
运行mysql_secure_installation脚本,执行一些安全相关的操作,并且设置 MySQL root 用户密码:
sudo mysql_secure_installation
你将会被问到配置VALIDATE PASSWORD PLUGIN,这个插件是用来测试 MySQL 用户的密码强度和提高安全性的。有三个密码安全级别,弱,中等,强。如果你不想设置密码验证插件,请直接按Enter回车。
在下一个被提示的地方,你会被问到给 MySQL root 用户设置密码。一旦你操作完成,脚本将会要求你移除匿名用户,限制 root 用户访问本地机器,移除 test 测试数据库。你对于所有的问题都应该回到”Y“(yes)。
为了通过终端命令行与 MySQL 数据库交互,使用已经安装的 MySQL 客户端工具。测试 root 用户访问,输入:
mysql -u root -p
这里我试了会如果使用这个方式设置密码,会一直反复提示输入密码。可以看看mysql对不同密码强度的要求
show variables like 'validate_password%';
validate_password_length密码长度的最小值(这个值最小要是4)。
validate_password_number_count 密码中数字的最小个数。
validate_password_mixed_case_count大小写的最小个数。
validate_password_special_char_count 特殊字符的最小个数。
validate_password_dictionary_file 字典文件
开发或测试如果不想要这些密码限制,可更改:
set global validate_password.policy=0;
三、mysql 8以上更改密码认证插件
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
四、mysql开启远程访问
1、打开 mysql 数据库
use mysql;
2、查看 user 数据表当前已有的数据
select host, user from user;
3、修改一条 root 数据,予任何主机访问数据的权限,并刷新MySQL的系统权限相关表。
update user set Host = '%' where Host = 'localhost' and User='root';
flush privileges;
待续…