用户操作
创建用户
1
| CREATE USER 'username'@'host' IDENTIFIED BY 'password';
|
username - 你将创建的用户名,
host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%.
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子:
1 2 3 4 5
| create user 'm23100'@'localhost' identified BY '123456'; create user 'm23100'@'192.168.1.101' identified BY '123456'; create user 'm23100'@'%' identified BY '123456'; create user 'm23100'@'%' identified BY ''; create user 'm23100'@'%';
|
删除用户
1
| DROP USER 'username'@'host';
|
查看用户信息
1
| select user,host,password from mysql.user;
|
可以在系统表user
中看到所用用户信息
因为字段太多,所以只查看user
,host
,password
字段
赋予用户权限
1
| GRANT PRIVILEGES ON DATABASENAME.TABLENAME TO 'username'@'host';
|
privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用ALL.;
databasename - 数据库名,
tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示, 如 .
例子:
1 2 3
| GRANT SELECT, INSERT ON test.user TO 'm23100'@'%'; GRANT ALL ON *.* TO 'm23100'@'%'; flush privileges; 刷新权限
|
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO ‘username‘@’host’ with grant option;
查看用户权限
1
| show grants for 'user01'@'%';
|
回收用户权限
1 2
| REVOKE DELETE ON *.* FROM 用户名@’%’; REVOKE ALL PRIVILEGES ON *.* FROM 用户名@’%’;
|
密码操作
数据库内修改用户密码
root修改其他用户密码
1
| set password for 'user01'@'%'=password('Qwer1234');
|
普通用户修改自己密码
1
| set password=password('123456');
|
数据库外修改密码
1
| mysqladmin -u root -p原密码 password 修改的密码
|