格式:create user "username"@"host" identified by "password";
1.mysql->create user ‘test‘@‘localhost‘ identified by ‘123‘;
2.mysql->create user ‘test‘@‘192.168.7.22‘ identified by ‘123‘; 3.mysql->create user ‘test‘@‘%‘ identified by ‘123‘;
host="localhost"为只有本机可以登陆,host="ip"为指定ip地址登录,host="%"为不限制IP登录
解决办法:
参见 https://blog.csdn.net/Hello_World_QWP/article/details/79551789
1、查看 mysql 初始的密码策略
输入语句 SHOW VARIABLES LIKE ‘validate_password%‘;
关于 mysql 密码策略相关参数;
1)、validate_password_check_user_name 验证用户名;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_length 固定密码的总长度;
4)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
5)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
6)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
7)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
***关于 validate_password_policy 的取值:
2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 0/LOW 即可,
set global validate_password_policy=LOW; 或 set global validate_password_policy=0; 进行设置
3、密码长度通过 set global validate_password_length=整数; 进行设值,如: set global validate_password_length=6;
4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘; 可以看到修改成功,表示密码策略修改成功了!!!
注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,如果想要将长度设置为3,可以采用先设置为0后再设置为3
set global validate_password_length=1/2/3; validate_password_length=4
set global validate_password_length=0; validate_password_length=2
1.查看用户权限: show grants for ‘用户‘@‘IP地址‘
2.授权: GRANT 权限 ON 数据库名.表名 TO 用户名@‘%‘ IDENTIFIED BY ‘数据库密码‘
实例:
grant create view on yisa_oe.* to yisa_cx@‘%‘; 创建视图权限
grant show view on yisa_oe.locationView to yisa_cx@‘%‘; 显示视图权限
grant select(table), update(table) on *.locationView to yisa_cx@‘localhost‘; 查询更新权限
Mysql支持的权限
ALL或ALL PRIVILEGES 代表指定权限等级的所有权限。 ALTER 允许使用ALTER TABLE来改变表的结构,ALTER TABLE同时也需要CREATE和INSERT权限。重命名一个表需要对旧表具有ALTER和DROP权限,对新表具有CREATE和INSERT权限。 ALTER ROUTINE 允许改变和删除存储过程和函数 CREATE 允许创建新的数据库和表 CREATE ROUTINE 允许创建存储过程和包 CREATE TABLESPACE 允许创建、更改和删除表空间和日志文件组 CREATE TEMPORARY TABLES 允许创建临时表 CREATE USER 允许更改、创建、删除、重命名用户和收回所有权限 CREATE VIEW 允许创建视图 DELETE 允许从数据库的表中删除行 DROP 允许删除数据库、表和视图 EVENT 允许在事件调度里面创建、更改、删除和查看事件 EXECUETE 允许执行存储过程和包 FILE 允许在服务器的主机上通过LOAD DATA INFILE、SELECT ... INTO OUTFILE和LOAD_FILE()函数读写文件 GRANT OPTION 允许向其他用户授予或移除权限 INDEX 允许创建和删除索引 INSERT 允许向数据库的表中插入行 LOCK TABLE 允许执行LOCK TABLES语句来锁定表 PROCESS 允许显示在服务器上执行的线程信息,即被会话所执行的语句信息。这个权限允许你执行SHOW PROCESSLIST和mysqladmin processlist命令来查看线程,同时这个权限也允许你执行SHOW ENGINE命令 PROXY 允许用户冒充成为另外一个用户 REFERENCES 允许创建外键 RELOAD 允许使用FLUSH语句 REPLICATION CLIENT 允许执行SHOW MASTER STATUS,SHOW SLAVE STATUS和SHOW BINARY LOGS命令 REPLICATION SLAVE 允许SLAVE服务器连接到当前服务器来作为他们的主服务器 SELECT 允许从数据库中查询表 SHOW DATABASES 允许账户执行SHOW DATABASE语句来查看数据库。没有这个权限的账户只能看到他们具有权限的数据库。 SHOW VIEW 允许执行SHOW CREATE VIEW语句 SHUTDOWN 允许执行SHUTDOWN语句和mysqladmin shutdown已经mysql_shutdown() C API函数 SUPER 允许用户执行CHANGE MASTER TO,KILL或mysqladmin kill命令来杀掉其他用户的线程,允许执行PURGE BINARY LOGS命令,通过SET GLOBAL来设置系统参数,执行mysqladmin debug命令,开启和关闭日志,即使read_only参数开启也可以执行update语句,打开和关闭从服务器上面的复制,允许在连接数达到max_connections的情况下连接到服务器。 TRIGGER 允许操作触发器 UPDATE 允许更新数据库中的表 USAGE 代表没有任何权限,只能登陆
# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。 grant all privileges on db1.t1 to "mjj"@‘%‘; #取消权限 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限 revoke all on db1.* from ‘mjj‘@"%"; 取消来自远程服务器的mjj用户所有数据库的所有的表的权限 revoke all privileges on ‘*‘ from ‘mjj‘@‘%‘;
授权与刷新数据库
原文:https://www.cnblogs.com/rockg/p/11371842.html