阿里云安装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 禁止MySQLroot用户从远程登录。 我这里选的是 允许
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,是的话表示配置生效了

1764898594732

  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;

    

posted @ 2025-12-05 09:44  烟雨蒙尘  阅读(7)  评论(0)    收藏  举报