ContOS 7.X下安装mysql8.0,以及踩到的坑

准备工作

  1. 查看是否已安装mysql
rpm -qa | grep -i mysql
  1. 删除(未安装跳过准备阶段)
yum -y remove MySQL-*
  1. 完全删除
find / -name mysql
rm -rf /etc/my.cnf
rm -rf /root/.mysql_sercret

开始安装

  1. 下载配置mysql 8.0
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  1. 安装mysql
sudo yum --enablerepo=mysql80-community install mysql-community-server

期间跳出的y/n 同意 :y

  1. 启动mysql服务
sudo service mysqld start
  1. 将mysql设置为开机自动启动项
systemctl enable mysql
  1. 查看mysql运行状态
service mysqld status
  1. 获取初始化密码并登录
grep "A temporary password" /var/log/mysqld.log

在这里插入图片描述
root@localhost以后即为初始密码

  1. 修改初始密码
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.%’;

  1. 再次修改密码(针对密码未修改成功情况)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

至此mysql配置完成

修改可远程访问(无需远程访问跳过)

  1. 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
use mysql;
select host, user, authentication_string, plugin from user;
  1. 修改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; #刷新权限
发布了16 篇原创文章 · 获赞 1 · 访问量 800

猜你喜欢

转载自blog.csdn.net/nisemono_ct/article/details/103931053