centos安装MySQL8完整指南

目录

1. 卸载mariadb

2. 下载

3. 安装

4. 若安装失败、卸载、重新安装

5. 启动

6. 修改密码

 7. 设置mysql远程链接


1. 卸载mariadb

centos7默认安装了mariadb, 会造成依赖冲突,按下列方式进行卸载:

rpm -qa | grep mariadb
#如果出现
mariadb-libs-5.5.68-1.el7.x86_64
#执行
rpm -e mariadb-libs --nodeps

2. 下载

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar

#下载完后创建目标文件夹,将其解压
cd /opt
mkdir mysql

tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql

#然后会出现以下几个安装包
mysql-community-client-8.0.31-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
mysql-community-common-8.0.31-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.31-1.el7.x86_64.rpm
mysql-community-devel-8.0.31-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-server-8.0.31-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.31-1.el7.x86_64.rpm
mysql-community-test-8.0.31-1.el7.x86_64.rpm

  这个数据源不能用了,我将下载后文件放在了我的资源里。如果还是get不到可以私信我,我看见的话发给你。 

3. 安装

yum install -y perl.x86_64

rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm --force --nodeps

共需要安装6个安装包 , 另外注意安装顺序(不过我都是无视依赖安装的)

4. 若安装失败、卸载、重新安装

#查询安装
rpm -qa | grep -i mysql
#使用rpm -e 命令将上个命令中包列表一一进行卸载

#然后删除mysql相关的服务。
chkconfig --list | grep -i mysql
chkconfig --del mysql

#然后找出OS中分散的mysql文件夹,并删除。
find / -name mysql
#最后清空mysql相关的的所有目录以及文件
rm -rf (注意每个绝对路径中间用空格隔开)

这里需要注意,如果安装失败了重装的时候一定把文件要删除干净,否则下次还是安装失败。 

5. 启动

#启动
systemctl start mysqld

#查看启动状态
systemctl status mysqld

6. 修改密码

#查看初始密码
grep 'temporary password' /var/log/mysqld.log

#登录、使用刚才的获得的密码
mysql -uroot -p

#第一次登录设一个复杂的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '复杂的密码';

#MySQL 8.0 调整密码验证规则:
set global validate_password.policy=0;
set global validate_password.length=1;

#修改为简单的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单的密码';

 7. 设置mysql远程链接

#1第一步、登录MySQL 运行以下指令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES;

#如果报错的话 先执行
use mysql;
update user set host = '%' where user = 'root';

重新执行第一步

 然后最好重启一次mysql

 8. 最后

        用软件登陆的Mysql8数据库时,会报错:Authentication plugin 'caching_sha2_password' cannot be loaded。     出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

   解决问题方法有两种,一种是升级navicat驱动, 另一种是把mysql用户登录密码加密规则还原成mysql_native_password。此处采用第二种,修改加密规则:

1、登录Mysql:

mysql -u root -p

2、修改账户密码加密规则并更新用户密码:

//修改加密规则(可以直接复制)

ALTER USER 'root'@'%' IDENTIFIED BY 'Hihihi666!' PASSWORD EXPIRE NEVER;

//更新一下用户的密码(可以直接复制)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Hihihi666!';


3、刷新权限并重置密码

//刷新权限(可以直接复制)

FLUSH PRIVILEGES;

4、重置密码

//此处请自定义密码,root或者其他简单的密码,都行;

set global validate_password.policy=0;
set global validate_password.length=1;

alter user 'root'@'localhost' identified by 'root';

此处将密码改为root

 重新打开软件,再次连接数据库即可,非常的方便

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值