VMware workstation16 中Centos7下MySQL8.0安装过程+Navicat远程连接

1.MySQL yum源安装

2.安装后,首次登录mysql以及密码配置
3.远程登录问题(Navicat15为例)

一、CentOS7+MySQL8.0,yum源安装
1.安装mysql前应卸载原有mysql,如果没有请忽虑
1.1找出原有mysql安装目录
输入命令      rpm -qa | grep mysql    后出现以下几行

 

1.2用以下命令依次删除上述出现的文件

 

1.3删除mysl配置文件

2.yum源安装mysql8.0
2.1下载repo源
可从mysql官网上获取到repo源 ,点击以下链接(按需要下载,我下载的是下图画红线的Linux7版本的)     //dev.mysql.com/downloads/repo/yum/

 

 

 

点击Download后直接点击下图画红圈的地方

 2.2下载完成后通过Xftp把文件传到虚拟机master的文件夹   /usr/local/module/  中(文件夹可自定义)

 

2.3yum安装repo
yum install mysql80-community-release-el7-3.noarch.rpm
安装完毕后 cd  /etc/yum.repos.d,进入该目录可以看到刚加入的repo

 

 

 

 

完毕后,用以下命令更新yum缓存

2.4yum安装mysql
2.4.1修改安装版本(默认最高版本)
因为官网最新的repo源中,包括了mysql的许多版本,可以通过cat /etc/yum.repos.d/mysql-community.repo ,修改各版本的enabled的值来确定安装哪个版本

cat /etc/yum.repos.d/mysql-community.repo

上图可看到,5.5,5.6和5.7的版本,enabled值为0,为不安装;

8.0及其它工具,enabled值为1,为安装。默认安装最高版本,可以不修改

2.4.2执行安装命令
yum install mysql-community-server
可能出现的问题:

由于网络问题,可能会出现缺少依赖的问题

Delta RPMs disabled because /usr/bin/applydeltarpm not installed
这时只需要安装对应缺少的依赖即可

yum -y install deltarpm
另外,因为网络环境差,网络速度慢,与mysql官方源连接慢等原因,安装过程中,可能会出现中断等问题,多次执行yum install,直到安装完毕即可。

二、登录mysql以及修改密码
1.启动mysql服务
1.1开启mysql服务
systemctl start mysqld
1.2设置mysql服务开机自启
systemctl enable mysqld
systemctl daemon-reload
1.3查看mysql服务状态
systemctl status mysqld

 

 

 出现active  (running) 表示MySQL在运行,服务开启成功

 

2.查看mysql初始登录密码
mysql8.0安装时,已经分配了默认初始密码,需要手动查看

grep ‘temporary password’ /var/log/mysqld.log

 

 

 root@localhost: 后为初始密码,复制好

 

3.修改mysql登录密码
注意:官方源中安装的mysql默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,本文不推荐修改默认的密码安全策略

3.1进入数据库中修改root用户密码

mysql -uroot -p

Enter password: 后输入密码,密码为查看的初始密码(也就是上一步复制的东西,粘贴完是不显示的,直接按enter键)

然后use mysql

 

 

 执行use mysql后再输入

ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘XXXXXXXXXX’;

单引号中的内容为密码

注意输入完后会出现错误ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

出错原因是因为密码策略问题,密码不能太过简单

然后可以查看一下密码策略,在此之前先更改一下密码,否则无论你操作什么都会提示你修改密码,

再次输入ALTER user ‘root’@’localhost’ IDENTIFIED BY ’12Loang’;

如果没报错直接跳到3.11

如果还是报相同的错误,直接跳到3.12

3.11 输入以下命令查看对应的参数

SHOW VARIABLES LIKE ‘validate_password%’;

3.12然后修改参数,输入以下命令

set global validate_password.policy=0;

set global validate_password.length=1;

 

 然后就是修改自己想配置的密码了(我配的是123456,你们随意,建议还是使用复杂点的密码)

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;

 

4.登录mysql
现在可通过  mysql -uroot  -p

输入密码登录到mysql了

 

三、远程登录
1.修改root用户的host
首先登录mysql数据库,并切换到mysql库

mysql -uroot  -p123456             #  -p后可直接根密码

use mysql
再查看root用户的host属性

select host,user from user;

 

 root用户的host默认为localhost,需要改为%(上图是修改过的),即可允许远程登录数据库,输入下面命令

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

修改完成后,使用以下命令刷新,使修改有效

flush privileges;
2.使用Navicat15登录
在使用 Navicat for Mysql连接mysql 8.0时会报如下错误:

Authentication plugin ‘caching_sha2_password’ cannot be loaded:
这是由于navicat密码加密方式为mysql_native_password ,而mysql默认加密格式为 caching_sha2_password

只需修改root用户密码加密方式与navicat相同即可

执行命令

update user set plugin=’caching_sha2_password’ where user=’root’;
flush privileges;

打开Navicat Preminum,点击连接,再点击MySQL出现下图界面

 

 连接名随便取

主机就填你安装MySQL的虚拟主机IP

端口一般都是3306不会变

用户名填root用户

密码就是你登录root时用的密码

点击测试连接,出现连接成功就大功告成了