使用可以对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;