一、下载
地址:https://downloads.mysql.com/archives/community/
选择如下:
二、安装
将下载后的rpm包上传到虚拟机/服务器上,我这里是放在了/usr/local/mysql/下,如果没有mysql文件夹新建一个即可。
1. 解压.tar文件
tar -xf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
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
注意:这里我在执行到第二个命令的时候,报错了,报错信息如下:
网上搜索处理办法如下,没有报错此步骤可以省略。
执行命令:yum remove mysql-libs 作用是清除之前安装过的依赖。
执行结束后,继续执行上面命令没有遇到任何问题。
三、启动与修改密码
1. 启动mysql
执行启动命令:systemctl start mysqld
启动成功后,查看启动状态:systemctl status mysqld
2. 查看临时密码
执行命令:cat /var/log/mysqld.log | grep "temporary password"
红框内的即为临时密码
当然也可以使用跳过登陆密码的方式访问mysql,具体方法参考下面
3. 使用临时密码登陆
命令如下:mysql -uroot -p 之后回车,输入临时密码再回车,即可登陆。
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.
这里要注意密码一定要复杂一点,不然会报错
四、使用navicat连接mysql
1. 之后,我们来使用navicat来连接mysql,发现无法连接,报错如下:意思是主机不被允许连接,因为虚拟机上安装的mysql没有授权其他主机连接它,需要我们进行授权。
2. 修改权限,让navicat可以连接上mysql
(1)查看所有数据库:show databases;
(2)使用名称为mysql的数据库:use mysql
(3)展示mysql数据库中所有的表:show tables;
(4)查看user表中的数据:select user,host from user;
可以看到root用户,只能本地连接,需要我们对其进行修改。
(5)修改成任何远程主机都可以访问数据库:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ WITH GRANT OPTION;
但是我这里报错了,没有报错的伙伴可以跳过:
原因是:当前user表中没有root - %记录; 可以更新root - localhost 为 root - %
修改命令:update user set host = ‘%‘ where user = ‘root‘ and host=‘localhost‘;
修改完成后需要刷新:FLUSH PRIVILEGES;
修改完成后重新访问,发现再一次报错,结果如下:
这里搜到的原因是:
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;
刷新后,重新访问,发现已经可以访问了。成功!!
参考:
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