mysql 操作用户权限

使用可以对mysql数据库用户表有操作权限的用户名登陆mysql
insert into user(Host,User,Password) values('%','name','password');
如果work用户没有登陆权限,则
killall mysqld
share/mysql/mysql.server start
grant all on *.* to work@'%' identified by "password";

MySQL赋予用户权限的命令的简单格式为
grant 权限 on 数据库对象 to 用户
grant 权限 on 数据库对象 to 用户 identified by "密码"

常用权限:
   all privileges 除grant外的所有权限
   select 仅查权限
   select,insert 查和插入权限
   usage 无访问权限

对于目标数据库以及内部其他:
   数据库名.* 数据库中的所有
   数据库名.表 指定数据库中的某张表
   数据库名.存储过程 指定数据库中的存储过程
   *.* 所有数据库

对于用户和IP:
   用户名@IP地址 用户只能在改IP下才能访问
   用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
   用户名@% 用户可以再任意IP下访问(默认IP地址为%)


用户名:ad,密码:ad_pass,登陆ip:192.168.0.10
//用户在所有登陆ip的权限
grant all on *.* to ad@‘%’ identified by "ad_pass";

//开放管理MySQL中所有数据库的权限
grant all on *.* to ad@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库(test)的权限
grant all privileges on test to ad@'192.168.0.10' identified by "ad_pass";

grant all on test to ad@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库中的表(test.table1)的权限
grant all on test.table1 to ad@'192.168.0.10' identified by "ad_pass"

//开放管理MySQL中具体数据库的表(test.table1)的部分列的权限
grant select(id,se,rank) on test.table1 to ad@'192.168.0.10' identified by "ad_pass";

//开放管理操作指令
grant select,insert,update,delete on test.* to ad@'192.168.0.10' identified by "ad_pass";

//回收权限
revoke all on *.* from ad@localhost;

//权限操作完后都要加一句

flush privileges;


//查看MySQL用户权限
show grants;
show grants for ad@localhost;


原文地址:https://www.cnblogs.com/lanchar/p/5764536.html