【发布时间】:2016-01-31 03:32:32
【问题描述】:
有 phpmyadmin 可以使用密码和用户名保护所有数据库 mysql,但我需要保护我的一个数据库,我可以用密码和用户名锁定数据库 mysql 吗?
【问题讨论】:
-
您可以加密所有数据。您可以要求凭据来获得对所有内容的精细访问。改进问题
标签: mysql database security passwords
有 phpmyadmin 可以使用密码和用户名保护所有数据库 mysql,但我需要保护我的一个数据库,我可以用密码和用户名锁定数据库 mysql 吗?
【问题讨论】:
标签: mysql database security passwords
您可以使用 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 不同。用户的host部分也取决于你是通过ip还是通过socket文件连接mysql。
使用尽可能少的所需权限通常是一种很好的做法。 (例如:只允许管理员用户 ALTER 等)
可以在此处找到所有权限的列表:
https://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges
【讨论】: