网站建设知识
mysql用户创建与授权
2025-07-22 10:01  点击:0

mysql用户创建与授权:在多用户情形下,为了避免用户访问或者操作不属于自己的数据,需要使用用户权限将不同用户的数据隔离开来。mysql的用户授权可以精确到表、操作和某个IP地址。

创建用户

create user 'username'@'host' identified by 'password';

用法说明

: 用户名

: ip地址,用户在哪个主机登录,如果是本机可以使用localhost,如果允许任意主机使用%代替

: 用户登录密码,如果没有密码留空

示例

create user 'guest'@'%' identified by '12345678';create user 'guest'@'localhost' identified by '';create user 'guest'@'%';

授权

grant [privileges] on [database.tablename] to 'username'@'host';

用法说明

: 授予用户的权限,包括select, insert, update, delete。如何授予所有权限,可以使用all代替

: 数据名

: 表名,如果是所有表格,可以使用*代替

示例

grant select on test.user to 'guest'@'localhost';grant all on *.* to 'guest'@'%';

注意,上述授权的用户不能给其他用户授权,即不能执行grant命令,如果需要授予该权限,可以在命令后追加with grant option。

grant [privileges] on [database.tablename] to 'username'@'host' with grant option;

撤消授权

revoke [privileges] on [database].[tablename] from 'username'@'host';

用法说明

privileges, database和tablename用法和授权部分相同。

示例

revoke all on test.user from 'guest'@'localhost';

查看用户权限

show grants for 'username'@'host';

示例

show grants for 'guest'@'localhost';

修改用户密码

set password for 'username'@'host' = password('newpassword');

示例

set password for 'guest'@'localhost' = password('12345678');

删除用户

drop user 'username'@'host';

示例

drop user 'guest'@'localhost';

参考

MySQL创建用户与授权