准备工作
- 查看是否已安装mysql
rpm -qa | grep -i mysql
- 删除(未安装跳过准备阶段)
yum -y remove MySQL-*
- 完全删除
find / -name mysql
rm -rf /etc/my.cnf
rm -rf /root/.mysql_sercret
开始安装
- 下载配置mysql 8.0
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装mysql
sudo yum --enablerepo=mysql80-community install mysql-community-server
期间跳出的y/n 同意 :y
- 启动mysql服务
sudo service mysqld start
- 将mysql设置为开机自动启动项
systemctl enable mysql
- 查看mysql运行状态
service mysqld status
- 获取初始化密码并登录
grep "A temporary password" /var/log/mysqld.log
root@localhost以后即为初始密码
- 修改初始密码
alter user root@localhost identified by '新密码'
会出现两种情况
1.密码较复杂(包含大小写,数字,字符且长度>=8),修改成功
2.密码复杂度不够需要修改密码复杂度
修改长度
set global validate_password.length=6;
修改复杂程度(0为最低级)
set global validate_password.policy=0;
修改用户名检查(允许用户名与密码同名)
set global validate_password.check_user_name=off;
查看所有权限详情
SHOW VARIABLES LIKE ‘validate_password.%’;
- 再次修改密码(针对密码未修改成功情况)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
至此mysql配置完成
修改可远程访问(无需远程访问跳过)
- 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
use mysql;
select host, user, authentication_string, plugin from user;
- 修改host(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址(详情自己查询)
update user set host = '%' where user ='root';
## 刷新mysql权限相关的表
FLUSH PRIVILEGES;
完毕
- navicat 链接错误 2059
原因 mysql8
之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决
更改加密规则:
mysql -uroot -ppassword #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限