【发布时间】:2011-07-12 09:22:27
【问题描述】:
我正在尝试设置一个 MySQL 复制从属服务器,并且在运行 LOAD DATA FROM MASTER; 时遇到了非常困难的时间。是的,我知道它已被弃用,但我运行的是 MySQL 5.1,目前这不是我的问题。
由于某种原因,MySQL 一直告诉我 CREATE 命令被拒绝,但检查 SHOW GRANTS 时却说不然。看看这个:
mysql> SHOW GRANTS;
+--------------------------------------------------------------------------------------------------------------------+
| Grants for replicator@% |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'replicator'@'%' IDENTIFIED BY PASSWORD '*ABCDEFABCDEFABCDEFABCDEFBLAHBLAHBLAHBLAH' |
+--------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> LOAD DATA FROM MASTER;
ERROR 1142 (42000): CREATE command denied to user 'replicator'@'localhost' for table 'aggregate'
mysql>
我觉得奇怪的是,当调用LOAD DATA FROM MASTER 时,它认为我是'replicator'@'localhost',而SHOW GRANTS 却说'replicator'@'%'。为了安全起见,我也给'replicator'@'localhost' 提供了相同的权限。
mysql> SHOW GRANTS FOR 'replicator'@'localhost';
+----------------------------------------------------------------------------------------------------------------------------+
| Grants for replicator@localhost |
+----------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'replicator'@'localhost' IDENTIFIED BY PASSWORD '*ABCDEFABCDEFABCDEFABCDEFBLAHBLAHBLAHBLAH' |
+----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
那么,对于为什么这一切都搞砸了有什么想法吗?是的,我也做了很多次FLUSH PRIVILEGES。
提前感谢您提供的任何建议。
【问题讨论】:
-
这个问题最好在 ServerFault StackExchange 上提出。
-
@Treebranch,我以为我实际上是把它贴在那里,然后我把它放在这里后,我意识到我把它放错了地方。这里有很多 MySQL 问题,我认为这是灰色区域,所以我离开了。如果他们认为合适,我会让模组移动它。