用Yum在Linux安装MySQL8

前言

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

准备工作

更换国内yum源提速

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

找MySQL官方yum仓库地址

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

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

image-20211117191843633

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

image-20211117191809514

安装、启停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

image-20211117203403669

# 启动
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)等路径。

image-20211118111158231

登陆并修改root密码

要得先启动服务。

echo "通过日志查看初始密码" > /dev/null
cat /var/log/mysqld.log | grep password

echo "登陆MySQL,输入密码后回车" > /dev/null
mysql -u root -p

image-20211118100806160

修改root密码。

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

image-20211118101115866

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

image-20211118101012819

远程连接问题

连接不允许

如果连接报下图中的错误,是因为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;

image-20211118133656321

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

# 创建允许所有主机使用root访问的记录,并指定密码
CREATE USER 'root'@'%' IDENTIFIED BY 'Pwd666666.';

# 赋予这个配置特权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

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

image-20211118135815493

鉴权插件无法加载

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

authentication plugin 'caching_sha2_password' cannot be loaded;

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

select Host,User,plugin from user;

image-20211118144225745

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

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

image-20211118145353188

参考链接

MySQL - Installing MySQL on Linux Using the MySQL Yum Repository

CSDN - linux yum安装mysql8

posted @ 2023-04-05 15:54  我有八千部下  阅读(2287)  评论(0编辑  收藏  举报