我使用下面的命令有没有一种方法可以通过单个命令从多个LAN地址向同一用户授予所有特权?
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ip'
IDENTIFIED BY 'password'
WITH GRANT OPTION;
要授予所有权限的用户。有没有一种方法,我可以使IP通配符像192.168.1.*
,这样我就不需要手动添加每个局域网IP我想让用户访问连接?
我使用下面的命令有没有一种方法可以通过单个命令从多个LAN地址向同一用户授予所有特权?
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ip'
IDENTIFIED BY 'password'
WITH GRANT OPTION;
要授予所有权限的用户。有没有一种方法,我可以使IP通配符像192.168.1.*
,这样我就不需要手动添加每个局域网IP我想让用户访问连接?
是的,在地址中使用%
。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.%'
IDENTIFIED BY 'password'
WITH GRANT OPTION;
或者您可以使用限制较少的主机名和允许user
到来自世界各地的连接。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'
IDENTIFIED BY 'password'
WITH GRANT OPTION;
根据您的要求,
首先让我们来制作一个新的用户名为“chaminda” MySQL的外壳内:
CREATE USER 'chaminda'@'%' IDENTIFIED BY 'password';
要做的第一件事就是为用户提供必要的许可,在这里我已经授予了特定用户的所有权限。
GRANT ALL PRIVILEGES ON * . * TO 'chaminda'@'%' WITH GRANT OPTION;
重新载入所有权限。
FLUSH PRIVILEGES;
注:这里的主机名=%,这意味着你可以从任何主机访问该数据库服务器。为用户提供所有特权是一个很大的风险,这不是最佳实践。