我正在尝试学习授予用户数据库权限的最佳方法
如果不存在则创建用户
由“1234”标识 将 . 上的所有权限授予 'silas'@'localhost';'silas'@localhost'
或
将
上的所有权限授予my_db.*
;'silas'@'localhost'
我只是想找到最好的方法来做到这一点。
您还可以使用下面的代码行来创建用户并向该用户授予所有权限。
GRANT ALL PRIVILEGES ON my_db.* TO 'silas'@'localhost' IDENTIFIED BY '1234';
虽然我认为首先创建用户是正确的方法。我强烈建议授予特定权限而不是
ALL
除非绝对必要,就像下面的语句仅授予对 my_db 数据库的选择、插入和更新权限。
GRANT SELECT, INSERT, UPDATE ON my_db.* TO 'silas'@'localhost';
如果没有必要,我还建议使用特定的数据库名称。 当您只想授予
.*
数据库权限时,而不是
my_db.*
my_db
是更安全的选择
并且请在授予权限后使用
FLUSH PRIVILEGES;
以确保立即生效。