阿里云安装MySQL8,使用的系统是Centos7.8
1、前面按照阿里云的文档来安装 #需要安装compat-openssl10与旧版本OpenSSL库兼容。 sudo yum install -y compat-openssl10 #添加MySQL官方源 sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm #安装MySQL服务 sudo dnf install -y mysql-server #启动MySQL服务并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld
2、 查看root用户的默认密码
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
3、运行命令,启动MySQL安全安装向导。
sudo mysql_secure_installation
4、 输入root用户初始密码。密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。
4.1 修改root密码后,输入n,拒绝再次修改密码。
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No
4.2 输入y,移除匿名用户。
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
4.3 禁止MySQL的root用户从远程登录。 我这里选的是 允许
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : No
4.4 输入y,移除MySQL自带的test数据库。
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
4.5 输入y,重新加载权限表,使之前所有更改生效
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
5. 创建一个用户,执行后需要输入root用户密码
sudo mysql -uroot -p \
-e "CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';" \
-e "GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%' WITH GRANT OPTION;" \
-e "FLUSH PRIVILEGES;"
创建完成之后navicat 链接MySQL
1、 会遇到 2059 - Authentication plugin ‘caching sha2 password‘ cannot be loaded
原因是:mysql_native_password 插件(模式)在新版本中被弃用了,新模式为 caching_sha2_password,需要启用一下旧模式。
进入到/etc/目录下面,看是否有这个文件 /etc/my.cnf, 有的话 在这个文件的末尾添加一句
mysql_native_password=on
2、 重启一下MySQL
systemctl stop mysqld;
systemctl start mysql;
3. 进入mysql,看一下插件状态 是否是 active,是的话表示配置生效了

4、 使用root用户登录
1、,修改账户密码加密规则;
ALTER USER 'root'@‘localhost’ IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
2 更新用户密码;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
3 刷新权限;
FLUSH PRIVILEGES;
4 重置用户密;
alter user 'root'@'localhost' identified by '新密码';
5, 我之前创建了一个MySQL用户,这里修改的时候要稍微变一下
这个是之前MySQL的创建语句 CREATE USER 'mysql'@'%' IDENTIFIED BY 'Csmm@123';
后面修改的时候需要这样做:
ALTER USER 'mysql'@'%' IDENTIFIED BY 'Csmm@123' PASSWORD EXPIRE NEVER;
ALTER USER 'mysql'@'%' IDENTIFIED WITH mysql_native_password BY 'Csmm@123';
FLUSH PRIVILEGES;
alter user 'mysql'@'%' IDENTIFIED BY 'Csmm@123';
参考链接: https://juejin.cn/post/7229178686430969914;
https://help.aliyun.com/zh/ecs/user-guide/manually-deploy-mysql-on-an-ecs-instance-that-runs-centos?spm=a2c4g.11186623.help-menu-25365.d_0_10_6_1_0_0.35871906MByTGa&scm=20140722.H_116727._.OR_help-T_cn~zh-V_1;

浙公网安备 33010602011771号