2023.11.6在centos8.1中安装mysql并授权远程连接的办法
在 CentOS 8.1 上安装 MySQL 的步骤与 CentOS 7.x 略有不同。以下是在 CentOS 8.1 上安装 MySQL 的步骤:
更新软件包缓存:
sudo dnf update
安装 MySQL 服务器和客户端软件包:
sudo dnf install @mysql
启动 MySQL 服务,并将其设置为开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
systemctl status mysqld #查看运行状态
使用 root 用户身份登录到 MySQL 控制台:
mysql -u root -p #初始无密码
查看默认密码,注意查看文件地址,修改成本机文件地址,新装的mysql默认是没有密码的。
sudo cat /var/log/mysql/mysqld.log | grep password
设置新密码
alter user 'root'@'localhost' identified by 'root';
查看密码设置要求
SHOW VARIABLES LIKE 'validate_password%'; #输入以下命令可以查看当前密码要求
set global validate_password.policy=0; #调整密码要求(MySQL8),验证强度,第二个参数为密码的最小长度:
set global validate_password.length=4; #调整密码要求(MySQL8),密码的最小长度:
现在已经成功在 CentOS 8.1 上安装了 MySQL。
然后在 CentOS 8.1 中开启 MySQL 的 root 远程连接授权,可以按照以下步骤操作:
使用 root 用户登录到 MySQL 数据库:
mysql -u root -p
在Xshell中查看权限:
SELECT user,host FROM mysql.user;
授予 root 用户远程连接权限,可以根据需要自定义用户,并不一定是 root 用户,可以新建其他用户,这里新建一个myroot:
create user 'root'@'%' identified with mysql_native_password by 'password';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
其中,password 是你希望设置的密码,请根据实际需求进行修改。
注意:为了安全起见,建议将 ‘%’ 替换为特定的 IP 地址或主机名,以限制可以访问 MySQL 数据库的主机。
细看各个用户的权限
SELECT * FROM mysql.user WHERE user='root'\G
本地的root有创建数据库权限,而远程无权限。
完成上述步骤后,即成功在CentOS上授权远程连接MySQL。记得定期备份数据库以保证数据的安全性。
退出 MySQL
exit;