mysql7.0.16_【mysql】centos7下安装mysql8.0.16(rpm方式)

本文档详细介绍了如何在CentOS7上通过rpm方式安装MySQL 8.0.16,包括下载、解压、安装rpm包、启动MySQL、设置初始密码、解决远程连接问题以及处理新版本加密规则的兼容性问题。
摘要由CSDN通过智能技术生成

一、下载

地址:https://downloads.mysql.com/archives/community/

选择如下:

20210201115906983839.png

二、安装

将下载后的rpm包上传到虚拟机/服务器上,我这里是放在了/usr/local/mysql/下,如果没有mysql文件夹新建一个即可。

1. 解压.tar文件

tar -xf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

20210201115907873056.png

2. 开始安装如下四个rpm包,执行命令如下,注意要按照顺序执行:

(1)rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm

(2)rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm

(3)rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm

(4)rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm

注意:这里我在执行到第二个命令的时候,报错了,报错信息如下:

20210201115908341065.png

网上搜索处理办法如下,没有报错此步骤可以省略。

执行命令:yum remove mysql-libs 作用是清除之前安装过的依赖。

20210201115908668672.png

执行结束后,继续执行上面命令没有遇到任何问题。

三、启动与修改密码

1. 启动mysql

执行启动命令:systemctl start mysqld

启动成功后,查看启动状态:systemctl status mysqld

20210201115909370685.png

2. 查看临时密码

执行命令:cat /var/log/mysqld.log | grep "temporary password"

20210201115909573489.png

红框内的即为临时密码

当然也可以使用跳过登陆密码的方式访问mysql,具体方法参考下面

3. 使用临时密码登陆

命令如下:mysql -uroot -p 之后回车,输入临时密码再回车,即可登陆。

20210201115909760693.png

4. 跳过密码登陆方式:

(1)首先编辑my.cnf文件:命令如下:vi /etc/my.cnf

(2)在my.cnf文件中添加skip-grant-tables,保存退出。

(3)由于修改了配置文件,所以需要重新启动mysql 执行命令:systemctl restart mysqld

(4)之后重新使用登陆命令 mysql -uroot -p 进行登陆,在输入密码的地方什么都不填写,直接回车即可登陆。

5. 设置登陆密码:

执行命令:alter user user() identified by "Aa123456.";  即将密码设置成  Aa123456.

这里要注意密码一定要复杂一点,不然会报错

20210201115909979097.png

四、使用navicat连接mysql

1. 之后,我们来使用navicat来连接mysql,发现无法连接,报错如下:意思是主机不被允许连接,因为虚拟机上安装的mysql没有授权其他主机连接它,需要我们进行授权。

20210201115910119500.png

2. 修改权限,让navicat可以连接上mysql

(1)查看所有数据库:show databases;

20210201115910228702.png

(2)使用名称为mysql的数据库:use mysql

(3)展示mysql数据库中所有的表:show tables;

20210201115910259902.png

(4)查看user表中的数据:select user,host from user;

可以看到root用户,只能本地连接,需要我们对其进行修改。

20210201115910353504.png

(5)修改成任何远程主机都可以访问数据库:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ WITH GRANT OPTION;

但是我这里报错了,没有报错的伙伴可以跳过:

20210201115910431506.png

原因是:当前user表中没有root - %记录; 可以更新root - localhost 为 root - %

修改命令:update user set host = ‘%‘ where user = ‘root‘ and host=‘localhost‘;

修改完成后需要刷新:FLUSH  PRIVILEGES;

20210201115910509507.png

修改完成后重新访问,发现再一次报错,结果如下:

20210201115910665510.png

这里搜到的原因是:

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,

解决办法有两种:

(1)把mysql用户登录密码加密规则还原成mysql_native_password.

(2)升级navicat驱动。

这里采用第一种方式:

命令如下:alter user ‘root‘@‘%‘ identified with mysql_native_password by ‘Aa123456.‘; 之后刷新FLUSH  PRIVILEGES;

20210201115910805913.png

刷新后,重新访问,发现已经可以访问了。成功!!

3fbe4a32176ca155b5d953de016f8200.png

参考:

1. https://blog.csdn.net/ypp91zr/article/details/84801204

2. https://blog.51cto.com/kangxi/2439808

3. https://blog.csdn.net/qq_38366063/article/details/100736999

4. https://www.cnblogs.com/nhdlb/p/13846034.html

5. https://blog.csdn.net/mxskymx/article/details/88765072

6. https://blog.csdn.net/seventopalsy/article/details/80195246

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值