create user username identified by 'password'
说明:username——你将创建的用户名, password——该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例如:
create user bgy identified by '123';
可以登录但是只可以看见一个库 information_schema
授权
命令详解
mysql> grant all privileges on dbname.tbname to 'username'@'login ip' identified by 'password' with grant option;
dbname=*表示所有数据库
tbname=*表示所有表
login ip=%表示任何ip
password为空,表示不需要密码即可登录
with grant option; 表示该用户还可以授权给其他用户
细粒度授权
首先以root用户进入mysql,
然后键入命令:grant select,insert,update,delete on *.* to bgy @localhost Identified by "123";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为 "%" 。
粗粒度授权
我们测试用户一般使用该命令授权,
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123";
grant all privileges on *.* to 'bgy'@'%' identified by '123';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123" WITH GRANT OPTION;
grant all privileges on *.* to 'bgy'@'%' identified by '123' with grant option;
privileges包括:
alter:修改数据库的表
create:创建新的数据库或表
delete:删除表数据
drop:删除数据库/表
index:创建/删除索引
insert:添加表数据
select:查询表数据
update:更新表数据
all:允许任何操作
usage:只允许登录
回收权限
命令详解
revoke privileges on dbname[.tbname] from username;
revoke all privileges on *.* from p361;
use mysql
select * from user
进入 mysql库中
修改密码;
update user set password = password('qwe') where user = 'p646';
刷新权限;
flush privileges