MySQL8.13在Linux安装

本文是根据以下文章为基础,加上自己遇到的坑完成的
作者:__1234
来源:CSDN
原文:https://blog.csdn.net/qq_40550973/article/details/80721014

开始安装

rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm

yum --enablerepo=mysql80-community install mysql-community-server

到这步开始询问你的选择,大概意思如下:

总大小371M,是否下载?

输入y,然后回车即可

大概意思,从文件中检索密钥MySQL导入GPG,问是否OK?(英文不好谅解)

输入y,然后回车即可

Complete 完成!

可以查看一下mysql的状态:

service mysqld start

接下来,我们需要查看一下,mysql为我们创建的默认密码,首次的登陆和配置mysql时需要用到。

grep "A temporary password" /var/log/mysqld.log

得到mysql的默认密码之后,我们开始配置mysql:


skip-grant-table
systemctl stop mysqld.service

systemctl start mysqld.service

mysql –u root 
//命令行重启

use mysql; 
update user set authentication_string='' where user='root'//如果当前root用户authentication_string字段下有内容,先将其设置为空

再修改密码

ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#'

有可能会出现问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
密码不符合要求,需要调整MySQL密码验证规则,修改 policy 和 length 的值
而 修改 policy 和 length 的值,在MySQL5.7中好使,在MySQL8.0中无效。'validate_password_policy' 变量不存在。

但是深入了解可以看到




通过查看 MySQL5.7 和 MySQL8.0 密码验证插件对比,可知两个版本中,变量名不一样。(*_password_policy 和 *_password.policy )

mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;//mysql8.0版本后要使用如下

mysql_secure_installation


登陆数据库:mysql -u root -p

大功告成咯!!

需要提醒的是,阿里云的这个版本系统的防火墙默认是关闭的,所以不用去设置。但是如果需要外连接数据库的话,记得去检查一下阿里云服务器的安全组里是否开放的数据库的默认端口3306.

然后进入到mysql库中,修改update user set host='%' where user='root';

就可以用sqlyog等工具去连接数据库了。

坑一:

用sqlyog连接数据库时出现错误提示:Authentication plugin ‘caching_sha2_password’ cannot be loaded

是因为客户端还不支持【caching_sha2_password】这种密码加密方式。

所以只需要修改密码,使用老版本的密码验证方式即可。

登陆数据库,进入mysql库,

update user set host='%' where user='root';

重启:service mysqld restart

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码';

重启:service mysqld restart

这里 Abc123456a. 就是新的密码

你可能感兴趣的:(MySQL8.13在Linux安装)