mysql从入门到入土(二)

用户操作

创建用户

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中看到所用用户信息
因为字段太多,所以只查看userhostpassword字段

赋予用户权限

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 修改的密码

mysql从入门到入土(二)
https://www.dr0n.top/posts/74c2ef78/
作者
dr0n
发布于
2021年10月2日
更新于
2024年2月29日
许可协议