Linux(centOS7)安装Mysql8

以下部分原文

一.准备:

1.使用远程连接工具登录Linux(centOS7)系统;

2.卸载系统自带mysql(方法请自行网查);

3.新建mysql文件夹;

4.MySQL8.0安装包:

链接:https://pan.baidu.com/s/1FfRSJT8M4Eb4o24luhfW9w 
提取码:b98h 

5.将下载到的文件上传到新建的mysql文件夹内(上传命令:[****@localhost local]# rz)。

二.开始:

1.解压文件:

tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

得到以下文件:

Linux(centOS7)安装Mysql8

2.安装依赖:

yum -y install libaio
yum -y install net-tools
yum -y install perl

3:安装Mysql组件:

因为具有依赖关系,所以我们需要按顺序执行,顺序如下:

rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm

安以以上组件即可。

默认数据存储路径/var/lib/mysql 配置文件路径/etc/my.cnf。

4:启动mysql:

查看mysql是否启动:service mysqld status
启动mysql:service mysqld start
停止mysql:service mysqld stop
重启mysql:service mysqld restart

启动状态如下图:

Linux(centOS7)安装Mysql8

5.修改mysql密码:

1) mysql安装完成之后我们是没有设置密码的,但是mysql为我们设置了一个临时的密码,我们可以查看mysql的日志知道这个临时密码:

查看临时密码:grep password /var/log/mysqld.log

Linux(centOS7)安装Mysql8

得到临时密码为:o.4.R<aakjJ5

2) 命令:mysql -p 登录mysql,密码为刚得到的临时密码(区分大小写):o.4.R<aakjJ5

3)修改密码(mysql8密码设置规则为密码需由大小写英文、数字、特殊符号):

ALTER user 'root'@'localhost' IDENTIFIED BY '[email protected]';

Linux(centOS7)安装Mysql8

4) 由于mysql8相较之前版本密码加密有所改变,因此我们需要修改加密规则,

一开始鄙人未修改,出现使用navcat连接时,报错1521:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; #更新一下用户的密码 
FLUSH PRIVILEGES; #刷新权限

以下部分原文

注意:

在修改加密规则之前需要查看你的root用户下的host是否修改过

查看方法:

先登录mysql

mysql -u root -p
输入密码

mysql> use mysql;
mysql> select user,host from user;

Linux(centOS7)安装Mysql8

如上roo对应host为%是因为我之前修改过远程访问权限(后边会讲到):

出现以上内容或者执行命令时提示以下错误:

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

 

Linux(centOS7)安装Mysql8

需将'localhost'改为'%'方可执行。

至此  mysql8.0安装以及修改密码设置完成。

6.设置允许远程连接:

mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

至此,应该明白,刚刚为什么修改加密规则时执行命令报错或者为什么你的root用户的host为“%”,可能你提前执行了这一步,然后自己又忘了。

以下部分原文
7.防火墙开发3306端口:

以上配置完毕后,需要将3306端口开放,才能使用Navcat连接:

1)查看 firewalld 状态

systemctl status firewalld

2)开启 firewalld

systemctl start firewalld

3)开放端口

// --permanent 永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent 

4)重新载入

firewall-cmd --reload

5)查看是否开启成功(返回:yes即表示成功)

firewall-cmd --zone=public --query-port=80/tcp

6)删除

firewall-cmd --zone=public --remove-port=3306/tcp --permanent