在Linux下,MySQL的用户权限管理主要通过以下几种方式实现:
用户账户管理:
CREATE USER语句创建新用户。例如:CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
DROP USER语句删除现有用户。例如:DROP USER 'olduser'@'localhost';
ALTER USER语句修改用户密码。例如:ALTER USER 'user'@'localhost' IDENTIFIED BY 'newpassword';
SELECT User, Host FROM mysql.user;查询所有用户。权限管理:
GRANT语句为用户分配权限。例如:GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'user'@'localhost';
REVOKE语句撤销用户的权限。例如:REVOKE SELECT, INSERT, UPDATE ON database_name.table_name FROM 'user'@'localhost';
SHOW GRANTS FOR 'user'@'localhost';查看用户的权限。角色管理(MySQL 8.0及以上版本支持):
CREATE ROLE语句创建新角色。例如:CREATE ROLE 'role_name';
DROP ROLE语句删除现有角色。例如:DROP ROLE 'role_name';
GRANT ROLE语句为用户分配角色。例如:GRANT role_name TO 'user'@'localhost';
REVOKE ROLE语句撤销用户的角色。例如:REVOKE role_name FROM 'user'@'localhost';
SHOW GRANTS FOR ROLE role_name;查看角色的权限。注意:在执行权限管理操作时,请确保您具有足够的权限。通常,您需要以root用户或具有GRANT OPTION权限的用户身份登录MySQL。