码迷,mamicode.com
首页 > 数据库 > 详细

mysql权限机制

时间:2018-08-27 00:20:11      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:ant   length   修改表   密码丢失   配置文件   host   spec   普通用户   127.0.0.1   

登录和退出Mysql
mysql -h -P -u -p -e
-h 指定主机名
-P 指定mysql服务器端口
-u 指定用户名
-p 指登录定密码
-e 接SQL语句
创建用户
1.create user wing;
create user wing@‘localhost’ identified by‘12345‘;
2.grant ALL on . to ‘user‘@‘localhost‘ identified by ‘123456‘
flush privileges;
删除用户
drop user ‘ueer1’@‘localhost’;
delete from mysql.user
where uesr=‘user2‘ and host=‘localhost‘
flush privileges;
修改用户名和密码
==root修改自己密码
1.mysqladmin -uroot -p‘123‘ password ‘new_password ‘
2.mysql>update mysql.user set authentication_string=password(mima) where user=‘root‘ and host=‘localhost‘;
3.set password=‘new_password‘;
==root修改其他用户密码
1.set password for user3@‘localhost‘=‘new_password‘;
2.update mysql.user set authentication_string=password(‘new_password‘) where user=‘user3‘ and host=‘localhost‘;
==普通用户修改自己的密码
set password=password(‘new_password‘);
alter user ‘wing‘ @‘localhost‘ identified by ‘new_password‘;
root账户没了或者root密码丢失:
关闭Mysql使用下面方式进入Mysql直接修改表权限
5.1/5.5版本 :
#mysqld_safe --skip-grant-tables --user=mysql &

5.6/5.7版本:
#mysqld --skip-grant-tables --user=mysql &

#mysql -uroot
mysql> UPDATE mysql.user SET authentication_string=password(‘new_password’)
WHERE user=’root’ AND host=’localhost’;
mysql> FLUSH PRIVILEGES;  

======================================
密码复杂度限制策略
MySQL5.7默认安装了validate_password插件,若没有安装,则SHOW VARIABLES LIKE ‘vali%‘则会返回空。

1、查看现有的密码策略
mysql> SHOW VARIABLES LIKE ‘validate_password%‘;
参数解释:
1).validate_password_dictionary_file 指定密码验证的文件路径;
2).validate_password_length 密码最小长度
3).validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数;
4).validate_password_number_count 密码至少要包含的数字个数
5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1
0/LOW:只检查长度;
1/MEDIUM:检查长度、数字、大小写、特殊字符;
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
6).validate_password_special_char_count密码至少要包含的特殊字符数

2、创建用户时报错
mysql> create user ‘miner‘@‘192.168.%‘ IDENTIFIED BY ‘miner123‘;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
报错原因:密码强度不够。
解决方法:(该账号为测试账号,所以采用降低密码策略强度)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
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_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 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
再次创建用户,成功

3.关闭validate_password插件:
在配置文件中加入以下并重启mysqld即可:
[mysqld]
validate_password=off

重启mysqld后通过SHOW PLUGINS可以查到:
+-------------------+----------+-------------------+----------------------+-----+
| validate_password | DISABLED | VALIDATE PASSWORD | validate_password.so | GPL |
+-------------------+----------+-------------------+----------------------+-----+

======================================
用户重命名:
RENAME USER old_name TO new_name;
创建账户
mysql> create user tom@‘%‘ identified by ‘123‘;

%不包括127.0.0.1但是包括localhost (-h的时候适用)

远程登陆:
#mysql -u tom -p123 -h 10.18.44.196 -P 3307

mysql权限机制

标签:ant   length   修改表   密码丢失   配置文件   host   spec   普通用户   127.0.0.1   

原文地址:http://blog.51cto.com/13939728/2164523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!