创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
-- username是你将创建的用户名;
-- host是指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%;
-- password是该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
例子:
-- 选择mysql数据库
use mysql;
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101' IDENDIFIED BY '123456';
CREATE USER 'cat'@'%' IDENTIFIED BY '123456';
CREATE USER 'tiger'@'%' IDENTIFIED BY '';
CREATE USER 'zebra'@'%';
-- 刷新MySQL的系统权限相关表,使添加用户操作生效,以免会出现拒绝访问
flush privileges;
修改用户密码
-- 使用update指令,注意这里的password需要进行加密
use mysql;
update user set password = password('iamsuperman') where user = 'superboy'; -- 这种方法是直接修改user表
flush privileges;
----------------或者------------------
set password for superboy@'localhost'= password('iamsuperman'); -- 最新版本已经不支持这种方法了
flush privileges;
----------------或者------------------
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
查看用户信息
use mysql;
select host, user, password from user;
常用的权限类型
all privileges:所有权限。
select:读取权限。
create:创建权限。
delete:删除权限。
update:更新权限。
drop:删除数据库、数据表权限。
授权命令
grant 权限类型 on 数据库名.表名 to '用户名'@'ip地址' identified by '用户密码' with grant option;
-- 如果带了with grant option,那么用户可以将权限传递给其他用户
-- 如果没带with grant option,那么用户不能给授权
-- 简单的说就是with grant option可以将权限传递给第三方
查看用户权限
-- 查看本地root的权限,没有指定后面的localhost则默认为'%'
show grants for root@'localhost';
-- 查看指定host的root的权限
show grants for root@'192.168.122.12';
撤销用户授权
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
-- 例子:撤销zebra的所有权限
revoke all privileges on *.* from 'zebra'@'%';
删除用户
如果需要删除用户,可以这样:
use mysql;
delete from user where user='zebra' and host='%'; -- 这种方法是直接修改user表
flush privileges;
----------------或者------------------
drop user 'zebra'@'%';
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。