# CentOS7 设置mysql的 root 用户密码时,报错 ERROR 1819(HY000)...ERROR1193... 解决方法。

CentOS7 设置mysql的 root 用户密码时,报错 ERROR 1819(HY000)...ERROR1193... 解决方法。

一、错误描述:

bash 复制代码
mysql  ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements

ERROR1819提示密码不符合安全策略,那么就修改安全策略。

二、解决方法

1、如果是第一次登录 mysql需要先修改密码,才能进行其他操作,所以先设置一个带特殊字符的长密码。

bash 复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ':UNy3qH15=zF-dih';

2、查看MySQL安全策略

bash 复制代码
 show variables ike 'validate_password%';

3、修改 mysql 安全策略

bash 复制代码
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_policy=0; 
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> set global validate_password_length=1; 
Query OK, 0 rows affected (0.00 sec)

# 再次查看安全策略,发现已经修改过来
mysql> show variables like 'validate_password%';

4、刷新权限

bash 复制代码
mysql> flush privileges;
Query OK, 0 rows affected (0.07 sec)

5、再次修改成短密码,已经可以成功修改。

bash 复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12311';
Query OK, 0 rows affected (0.02 sec)

退出 mysql 尝试用新密码登录

bash 复制代码
mysql> exit
Bye

[root@bogon mysql]# mysql -uroot -p12311

mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.39 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

三 、如果修改 mysql 安全策略报错 ERROR1193,说明没有密码验证插件,需要退出 mysql 在终端打开 /etc/my.cnf 配置文件,修改保存。

1、修改 mysql 配置文件 /etc/my.cnf

bash 复制代码
# 退出mysql
mysql> exit
Bye
# 打开 mysql 配置文件
[root@bogon mysql]# vim /etc/my.cnf         

# 在文件最后,添加如下内容。

[mysqld]

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 添加插件
# 插件的加载方法,每次服务器启动时都必须给出该选项
plugin-load-add=validate_password.so

# 在服务器启动时使用该选项来控制插件的激活
validate-password=FORCE_PLUS_PERMANENT

2、修改了配置之后一定要重启MySQL服务,重新登录 mysql 服务,进行安全策略修改。

bash 复制代码
# 重启 mysql
[root@bogon mysql]# systemctl restart mysqld

# 登录 mysql
[root@bogon mysql]# mysql -uroot -p 

# 修改 mysql 安全策略
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;

mysql> set global validate_password_policy=0; 
mysql> set global validate_password_length=1; 

# 再次查看安全策略,发现已经修改过来
mysql> show variables like 'validate_password%';

# 刷新权限
mysql> flush privileges;

# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12311';
相关推荐
hj28625115 小时前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_201815 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
27399202915 小时前
GDB调试(Linux)
linux
凡人叶枫16 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
不会C语言的男孩16 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
小生不才yz16 小时前
Shell脚本精读 · S02-03 | 词拆分、通配符与未加引号的变量
linux
2601_9618454216 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
A_humble_scholar16 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
就叫_这个吧17 小时前
IDEA Mybatis xml文件,实现sql语句联想,自动填入补充
xml·mysql·intellij-idea·mybatis
AOwhisky17 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存