玖叶教程网

前端编程开发入门

# CentOS7 设置 mysql 的 用户密码时,报错 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';

```

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言