1、创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Username:创建的用户名
Host:指定从那个主机上登录,若是本地用户可用localhost,若想要该用户可以从任意远程主机登录,可以使用通配符%
Password:用户的登录密码,可以为空
2、授权:GRANT privileges ON databasename.tablename TO 'username'@'host'
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
3、回收权限
revoke privileges on database.tables from user@host;
如果想取消账号的所有授权:revoke all privileges,grant option from user@host;
4、删除用户:DROP USER 'username'@'host';
问题1:授权成功后,新建的账号仍不支持登录
解决:以root身份登录mysql,删除mysql中默认存在用户名为空的账号
Delete from mysql.user where user=’’;
Flush privileges; 刷新数据库
问题2:不小心root身份删除后,重新添加权限
use mysql;
insert into user(User,Password) values('root',PASSWORD('123456'));
flush privileges;(非常重要,要不然无法执行以下命令)
grant all privileges on mysql.* to root@localhost identified by '123456';
flush privileges;(非常重要,要不然无法执行以下命令)
grant reload on *.* to 'root'@'localhost';(非常重要,要不然root没有相关的权限)
flush privileges;