Linux centos7安装MySql8
一.
[root@localhost ~]# rpm -qa|grep mysql
二.卸载旧版mysql
[root@localhost ~]# yum remove mysql mysql-server mysql-libs mysql-common
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm /etc/my.cnf
三.搭建网络yum源
- 安装yum源
yum localinstall mysql80-community-release-el7-3.noarch.rpm #此处名称与yum源名一致
- 安装MySql
yum -y install mysql-community-server
六.配置MySql
- 启动MySql
systemctl start mysqld.service #启动和停止mysql systemctl restart mysqld.service #重启mysql systemctl status mysqld.service #查看msyql状态 systemctl stop mysqld.service #停止mysql #mysqld为mysql默认的服务名称。在linux中mysql的配置文件在/etc/my.cnf 中 #service命令是redhat公司提供的管理服务的命令
- 查看MySql随机密码
cat /var/log/mysqld.log | grep password
- 设置密码复杂度规则
#1、先按mysql密码策略修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R'; #2、修改mysql密码复杂性策略 set global validate_password.policy=0; #关闭密码复杂性策略 set global validate_password.length=1; #设置最低密码长度为1
- 开启MySql远传访问权限
#1、进入到系统数据库mysql,修改该库下user表的host列 update user set host='%' where user='root'; #2、执行两次下面的命令 grant all privileges on test.* to 'root'@'%'; #3、刷新数据库配置 flush privileges;
- 关闭防火墙或开放防火墙端口
#临时关闭防火墙,系统重启后无效 systemctl stop firewalld.service #开放防火墙3306端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent #查看防火墙开放的端口 firewall-cmd --list-ports #重启防火墙 systemctl restart firewalld
- 修改密码加密规则
- 问题原因 : 如果使用mysql客户端连接linux上的mysql可能会报如下错误,该错误是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 使用Navicat连接报错2059
- 解决步骤
#进入到mysql数据库 use mysql; #更改加密方式 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #刷新数据库配置 flush privileges;
七.重启MySql服务, 安装完成