权限管理
创建用户
CREATE USER username@host IDENTIFIED BY password;
host 指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost ,如果想让该用户可
以从任意远程主机登陆,可以使用通配符 % ;
授权
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
privileges :用户的操作权限,如 SELECT , INSERT , UPDATE 等,如果要授予所的权限则使
用ALL;
databasename.tablename 如果是 . 表示任意数据库以及任意表;
WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在
创建操作用户的时候不指定 WITH GRANT OPTION 选项导致后来该用户不能使用 GRANT 命令创建
用户或者给其它用户授权。
如果不想这个用户有这个grant的权限,则不要加该 WITH GRANT OPTION 选项;
对视图授权
GRANT select, SHOW VIEW ON `databasename`.`tablename` to 'username'@'host';
刷新权限
-- 修改权限后需要刷新权限
FLUSH PRIVILEGES;
root远程链接
注释 mysqld.cnf 中 bind-address ,修改 mysql.user 表,然后重启mysql
-- mysqld.cnf #
bind-address=127.0.0.1
-- 修改user表 select `user`, `host` from `mysql`.`user`;
update user set host='%' where user='root';