本文共 1830 字,大约阅读时间需要 6 分钟。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username
:指定创建的用户名。host
:指定该用户登录的主机,支持localhost
、192.168.1.101
等具体IP地址或使用通配符%
表示允许从任意远程主机登录。password
:用户的登录密码,密码可为空(''
),则用户无需提供密码即可登录。CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';CREATE USER 'pig'@'192.168.1.101' IDENTIFIED BY '123456';CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; # 允许从任意远程主机登录CREATE USER 'pig'@'%' IDENTIFIED BY ''; # 无需密码登录CREATE USER 'pig'@'%'; # 无需密码登录,用户可从任意主机登录
GRANT privileges ON databasename.tablename TO 'username'@'host';
privileges
:用户可获得的权限,如SELECT
、INSERT
、UPDATE
等,需用ALL
表示授予所有权限。databasename
:目标数据库名称。tablename
:目标表名,使用*
表示所有数据库和表,如*.*
表示所有数据库和所有表。GRANT OPTION
:可让用户进一步授权他人。GRANT SELECT, INSERT ON test.user TO 'pig'@'%';GRANT ALL ON *.* TO 'pig'@'%'; # 授予所有权限GRANT ALL ON maindataplus.* TO 'pig'@'%';
GRANT ... ON *.*
时,REVOKE ... ON *.*
无法撤销特定数据库的权限,需使用具体数据库和表名称。SHOW GRANTS FOR 'username'@'host';
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
SET PASSWORD = PASSWORD("newpassword");
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
privilege
、databasename
、tablename
:与授权部分一致。REVOKE
时需确保权限是通过GRANT
授予的,否则可能产生错误。REVOKE SELECT ON *.* FROM 'pig'@'%'; # 撤销所有数据库的SELECT权限
GRANT SELECT ON test.user
,则需使用REVOKE SELECT ON test.user
才能撤销该权限。SHOW GRANTS FOR 'username'@'host';
查看详细权限信息。DROP USER 'username'@'host';
GRANT INSERT, SELECT, UPDATE, DELETE ON hos_op_view.* TO 'oig20186'@'%' IDENTIFIED BY 'fg9ol.*IK<64g';
SELECT * FROM mysql.db WHERE `User` = 'oig20186';
FLUSH PRIVILEGES;
通过以上命令,用户可以轻松管理MySQL数据库中的用户权限和密码,确保数据库安全和高效运行。
转载地址:http://gndfk.baihongyu.com/