花蜻宽 发表于 2018-10-2 07:23:00

mysql权限机制

  登录和退出Mysql
  mysql -h -P -u -p -e
  -h指定主机名
  -P指定mysql服务器端口
  -u指定用户名
  -p指登录定密码
  -e接SQL语句
  创建用户
  1.create user wing;

  create user wing@‘localhost’>
  2.grant ALL on . to 'user'@'localhost'>  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'>  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.%'>  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即可:
  
  validate_password=off
  重启mysqld后通过SHOW PLUGINS可以查到:
  +-------------------+----------+-------------------+----------------------+-----+
  | validate_password | DISABLED | VALIDATE PASSWORD | validate_password.so | GPL |
  +-------------------+----------+-------------------+----------------------+-----+
  ======================================
  用户重命名:
  RENAME USER old_name TO new_name;
  创建账户:

  mysql>create usertom@'%' >  %不包括127.0.0.1但是包括localhost (-h的时候适用)
  远程登陆:
  #mysql-u tom -p123-h10.18.44.196-P 3307


页: [1]
查看完整版本: mysql权限机制