赞
踩
最近因为公司需求需要升级mysql版本到服务器(服务器系统使用centos8) ,mysql版本8.0.22。在安装过程中也遇到了很多坑,现在和大家分享如下:
yum remove -y mysql
find / -name mysql //找到残留的文件,再通过rm -rf去删除对应的文件
下载mysql安装包:
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
yum install mysql80-community-release-el8-1.noarch.rpm
成功示意图:
查看mysql源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"
示意图:
如果出现No match for argument: mysql-community-server
可执行 yum module disable mysql命令
yum module disable mysql // 禁用命令
示意图:
前面都是必不可少的准备工作,现在才是重点:
yum install mysql-community-server 这一步的时候可能很多人安装不上,
因为是yum安装库的问题,错误(Error: GPG check FAILED),可以将--nogpgcheck添加到后面:
yum install mysql-community-server --nogpgcheck
Is this ok [y/Y] 一直 y到底
在启动mysql时,遇到了一个问题:
[root@iZuf6hx48jsavuzwp5hv7jZ soft]# service mysqld start //启动命令
遇到问题
[root@iZuf6hx48jsavuzwp5hv7jZ soft]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service//错误提示
正确启动命令:
[root@iZuf6hx48jsavuzwp5hv7jZ soft]# /bin/systemctl start mysqld.service//启动命令
[root@iZuf6hx48jsavuzwp5hv7jZ soft]# service mysqld status //
示意图:
grep 'temporary password' /var/log/mysqld.log
密码是host:后面的一串字符。
mysql -u root -p //输入上面生成的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_21root'; //因为我们随便修改密码时,一般都不满足它的策略 会报以下错误: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 解决办法: 一定要先修改默认密码为: Root_21root 满足它的策略,再进行下面的操作: SHOW VARIABLES LIKE 'validate_password%'; //查看密码策略 修改密码长度: set global validate_password.length=1; //(长度) 修改密码等级: set global validate_password.policy=0; //(等级) 设置成自己想要的密码: ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
修改前策略:
修改后策略:
create user 'root'@'%' identified by 'root123'; //1、先创建权限记录
grant all privileges on *.* to 'root'@'%' with grant option; //2、授权
示意图:
直接在安全组开放mysql端口号
如果创建mysql的数据库连接报如下错误:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:
从错误信息可知caching_sha2_password不能加载。
以上报错是由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。可以看到当前用户的加密方式为caching_sha2_password。执行以下命令:
use mysql;
select user,plugin from user where user='root';
alter user 'root'@'%' identified with mysql_native_password by 'Admin@123';//将用户的加密方式改为mysql_native_password。
flush privileges;//这个一定要执行,执行命令使权限配置项立即生效。
再次尝试连接Mysql,连接成功。
示意图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。