1.创建用户
create user ‘username’@’host’ identified by ‘password’
/host:本地:localhost,任意远程主机登陆:通配符%/
2. 用户授权
GRANT privileges ON databasename.tablename TO 'username'@'host'
/如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*/
GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
/在test库中的user 表授权pid用户插入和选择操作/
GRANT ALL ON *.* TO 'pig'@'%';
/授权pid用户可以操作数据库所有的权限/
/注意:用以上命令授权的用户不能给其它用户授权/
3. 授权用户授权
/如果想让该用户可以授权,用以下命令:/
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
4.修改用户名
RENAME USER 'username'@'hostname' TO 'target_username'@'target_hostname'
5.修改密码
SET PASSWORD FOR 'username'@'hostname' =PASSWORD('new_password')
如果是修改当前登录的用户密码
SET PASSWORD = PASSWORD("newpassword");
删除用户
DROP USER 'username'@'hostname'
例如:
DROP USER 'username'@'host';
6.创建并授权
grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
通过GRANT命令创建用户,当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。
7.操作代表权限
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
例如:
grant select,insert,update,delete,create,drop on test.hr to john@192.168.10.1 identified by '123';
// 给主机为192.168.10.1的用户john分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
// grant all privileges on :分配所有权限
// on test.*:授权对象为:数据库test所有表
// on .:授权对象为:所有数据库的所有表
// to john@localhost:john只能在本地访问数据库
8.直接向mysql.user表插入记录
数据库的用户信息都是保存在mysql.user这张表的,所以直接对该表进行插入语句,即可完成用户的创建,并刷新系统权限表。
insert into user (host,user,password) values ('%','john',password('123'));
flush privileges;
9.退出Mysql
exit (回车)