mysql创建用户、权限、密码修改

2019-09-30  本文已影响0人  缘木与鱼

创建用户并将all权限给demo库所有的表

// 创建用户,将demo数据库下的所有表的所有权限都赋给demo用户
mysql> grant all on demo.* to 'demo'@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)

// 刷新权限,使权限生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

// 查看用户有哪些权限 -- 显示是有所有的权限
mysql> show grants for 'demo'@'localhost';
+--------------------------------------------------------+
| Grants for demo@localhost                              |
+--------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demo'@'localhost'               |
| GRANT ALL PRIVILEGES ON `demo`.* TO 'demo'@'localhost' |
+--------------------------------------------------------+
2 rows in set (0.00 sec)

// 收回用户的部份权限
mysql> revoke insert,update,select,delete on demo.* from 'demo'@'localhost';
Query OK, 0 rows affected (0.00 sec)

// 再次查看用户剩余的权限
mysql>  show grants for 'demo'@'localhost'; 
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for demo@localhost                                                                                                                                                                            |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demo'@'localhost'                                                                                                                                                             |
| GRANT CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `demo`.* TO 'demo'@'localhost' |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)



可能存在的问题:mysql5.7对密码的策略进行的升级:要求大小写、数字等至少八个字符,对密码策略进行修改

// 查看密码的策略
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 8     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

// 修改密码的等级为低级
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

// 修改密码的长度要求为4个
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

// 查看密码策略是否修改成功
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

关闭密码策略

vim /etc/my.cnf

添加  validate_password=off
[mysqld]
validate_password=off

重启mysql服务生效
systemctl restart mysqld.service

查看密码策略显示为空
mysql> SHOW VARIABLES LIKE 'validate_password%';
Empty set (0.00 sec)

当忘记密码时,修改密码的方式

vim /etc/my.cnf
添加
skip-grant-tables

这样会跳过密码验证,登陆后修改密码即可。
上一篇下一篇

猜你喜欢

热点阅读