phpmyadmin提供了一个密码和用户名保护所有数据库mysql的可能性,但我需要的是保护我的一个数据库,我可以用密码和用户名锁定数据库mysql吗?
发布于 2015-10-31 03:03:39
您可以使用grant mysql命令来保护单个数据库甚至单个数据库,如下所述:
https://dev.mysql.com/doc/refman/5.1/en/grant.html
# 1. Create user
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
# 2. Grant right to user
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;重要陷阱:"localhost“可能与127.0.0.1不同。用户的主机部分还取决于您是通过ip还是通过套接字文件连接到mysql。
通常,使用尽可能少的所需权限是一种好的做法。(例如:只允许admin用户使用ALTER etc )
所有perivileges的列表可以在这里找到:
https://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges
https://stackoverflow.com/questions/33440538
复制相似问题