全,
是否可以修改MySQL DB的权限,或者我需要撤销它并再次授予它?
我的问题如下:
我正在Gentoo Linux上运行MySQL服务器,并试图通过两台不同的Windows机器远程连接(我家里的所有计算机都在同一个网络上)。
当我在连接上遇到困难时,我在Gentoo论坛上问了一个问题,并得到了一个建议:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;我的猜测是,我使用了其中一台机器的静态IP地址,因为我可以从一台Windows机器连接,但不能从另一台机器连接。
所以现在,我的问题是-是否可以发布这样的问题:
ALTER PRIVILEGES ON.....;或者我可以做一些查询来解决这个问题?
谢谢。
顺便说一句,有点离题:我找不到“远程访问”的标签。有人能创造它吗?或者它不存在是有原因的?
编辑:
实际上,我希望权限是这样的:
GRANT ALL ON foo.* TO bar@'192.168.1.x' IDENTIFIED BY 'PASSWORD';所以我只能连接192.168.1.1 - 192.168.1.254。我不需要这台服务器公开使用。
EDIT2:
GRANT USAGE ON *.* TO 'root'@'192.168.1.4' IDENTIFIED BY PASSWORD '*DC365D603F605E79DE2F2B8DA969DBB8497BEC89'
GRANT ALL PRIVILEGES ON `draft`.* TO 'root'@'192.168.1.4' WITH GRANT OPTION
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*DC365D603F605E79DE2F2B8DA969DBB8497BEC89' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTIONEDIT3:
我只是尝试执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@192.168.1.% IDENTIFIED BY '<my_password>' WITH GRANT OPTION;我得到了以下回应:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '% IDENTIFIED BY '<my_password>'' at line 1 0.00041 sec发布于 2017-06-29 03:06:31
所以你能做的是:
更新mysql.user set host =‘192.168.1.3,其中host='192.168.1.3’;
冲洗特权:
如果需要更清楚的话请告诉我
不能在mysql.user表中为主机名定义范围。要做到这一点,您可以创建相同的用户具有相同的角色,但在不同的IP。你必须为每个IP单独这么做。
请尝试创建用户:
在db.*上授予select到'root'@'192.168.1.%‘,由'pass’标识;
这是因为IP应该作为字符串放在'‘之间。
所以你来吧:
将db_name.table_name上的所有特权授予“root”@‘192.168.1.%’,由“具有”GRANT选项标识;
https://dba.stackexchange.com/questions/177500
复制相似问题