在MySQL中给数据库授权用户可以使用GRANT
命令,以下是一些常见的用法:
一、创建新用户并授予权限
new_user
,可以从任何主机连接并且对test_db
数据库有所有权限(如SELECT
、INSERT
、UPDATE
、DELETE
等)的用户,密码为password123
:GRANT ALL PRIVILEGES ON test_db.* TO 'new_user'@'%' IDENTIFIED BY 'password123';
ALL PRIVILEGES
表示所有的权限,test_db.*
表示test_db
数据库中的所有表。'%'
表示任何主机都可以连接,如果只想允许从特定主机(如192.168.1.100
)连接,则将'%'
替换为'192.168.1.100'
。SELECT
和INSERT
权限:GRANT SELECT, INSERT ON test_db.* TO 'new_user'@'%';
二、对已有用户修改权限
existing_user
,想要给它增加DELETE
权限:GRANT DELETE ON test_db.* TO 'existing_user'@'%';
existing_user
对test_db
数据库的INSERT
权限:REVOKE INSERT ON test_db.* FROM 'existing_user'@'%';
三、刷新权限 在完成授权或权限修改操作后,需要执行以下命令使权限生效:
FLUSH PRIVILEGES;
请注意,在实际应用中,要遵循最小权限原则,只授予用户必要的权限,以提高数据库的安全性。
领取专属 10元无门槛券
手把手带您无忧上云