likes
comments
collection
share

用Yum在Linux安装MySQL8

作者站长头像
站长
· 阅读数 16

前言

我们通过Yum几乎全自动的快速安装MySQL服务,这里演示的是8.0版本,给出了具体步骤、脚本、图例,和相关资料来源,以及解决远程连接相关问题。

准备工作

更换国内yum源提速

参考CentOS更换YUM源更换yum源,国内下载速度更快。

找MySQL官方yum仓库地址

这一步只是告诉大家后面安装脚本中MySQL Yum 仓库来源,可以跳过。

打开页面MySQL - yum 下载源找到跟当前系统版本匹配的yum源,点击【Download】。

用Yum在Linux安装MySQL8

鼠标右击【No thanks, just start my download】来复制链接地址,安装的时候要使用。

用Yum在Linux安装MySQL8

安装、启停MySQL

echo "安装MySQL Yum Repository仓库" > /dev/null
yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
​
echo "安装MySQL,这一步需要时间较长" > /dev/null
yum -y install mysql-community-server

用Yum在Linux安装MySQL8

# 启动
systemctl start mysqld
​
# 重启
systemctl restart mysqld
​
# 停止
systemctl stop mysqld

卸载MySQL

yum -y remove mysql-community-server

相关文件路径

配置文件在/etc/my.cnf目录下,查看内容(cat /etc/my.cnf)可以看到数据目录(/var/lib/mysql)、错误日志(log-error)等路径。

用Yum在Linux安装MySQL8

登陆并修改root密码

要得先启动服务。

echo "通过日志查看初始密码" > /dev/null
cat /var/log/mysqld.log | grep password
​
echo "登陆MySQL,输入密码后回车" > /dev/null
mysql -u root -p

用Yum在Linux安装MySQL8

修改root密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pwd666666.';

用Yum在Linux安装MySQL8

如果提示下图中的错误,是因为密码强度不够,需要包含大小写英文、数字和符号。

用Yum在Linux安装MySQL8

远程连接问题

连接不允许

如果连接报下图中的错误,是因为root用户默认只能通过本机(localhost)来访问。

1130 - Host '192.168.0.1' is not allowed to connect to this MySQL server

通过mysql库中user表可以看到个每个用户允许的host。

# 指定使用mysql库
use mysql
​
# 查询user表信息
select Host, User from user;

用Yum在Linux安装MySQL8

我们可以对root用户添加一条允许其他或者所有(%)主机的配置,只要保证主键(主键字段是user+host)不重复,可以用一个用户配置多条。

# 创建允许所有主机使用root访问的记录,并指定密码
CREATE USER 'root'@'%' IDENTIFIED BY 'Pwd666666.';
​
# 赋予这个配置特权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

可以看到user新增的配置。这时候任何主机都可以可以使用root远程连接了。

用Yum在Linux安装MySQL8

鉴权插件无法加载

有的同学远程连接会报这个错:

authentication plugin 'caching_sha2_password' cannot be loaded;

是因为MySQL 8默认使用的鉴权插件为caching_sha2_password插件,而有的客户端环境不支持。执行下面的语句可以通过plugin栏看到各用户配置的插件。

select Host,User,plugin from user;

用Yum在Linux安装MySQL8

我们将插件改成客户端支持的mysql_native_password就行了。

# 指定User为root,Host为%的记录使用的插件为mysql_native_password,并指定密码为Pwd666666.
alter user 'root'@'%' identified with mysql_native_password by 'Pwd666666.';

用Yum在Linux安装MySQL8

参考链接

MySQL - Installing MySQL on Linux Using the MySQL Yum Repository

CSDN - linux yum安装mysql8