我正在尝试使用TOAD连接到远程mysql服务器,但继续拒绝访问'user @ laptop-hostname'。
这会让我觉得这是一个权限问题,除了我可以毫无问题地连接MYSQL Workbench。
另一个奇怪的事情是我可以连接到查看表并获取带有TOAD的DB列表但是当我去做快照或比较时我得到访问被拒绝错误。
错误:
"SELECT command denied to user 'MY-USER'@'MY-LOCAL-HOSTNAME' for table 'db' Quest.Compare.Schema.MySQl.DBModel
有什么想法吗?
编辑: 我还应该提一下,我可以使用TOAD执行查询。似乎是快照和比较的问题。
答案 0 :(得分:3)
我最近不得不自己解决这个问题。在这种情况下,DB表toad是指mysql架构的DB表。要解决此问题,只需向MY-USER添加授权权限,如下所示:
GRANT SELECT ON 'mysql'.'db' TO 'my-user'@'my-local-hostname';
答案 1 :(得分:1)
因此,错误意味着您可以使用指定的帐户(MySQL用户)连接到服务器,但用户没有所需的权限。
尝试以root
连接,并将SELECT权限授予用户'MY-USER'@'MY-LOCAL-HOSTNAME'。您可以授予全局级SELECT
权限,数据库级或表级。例如 -
-- Global level
GRANT SELECT ON *.* TO 'MY-USER'@'my-local-hostname';
-- Database level
GRANT SELECT ON <database_name>.* TO 'MY-USER'@'my-local-hostname';
-- Table level
GRANT SELECT ON TABLE <database_name>.<table_name> TO 'MY-USER'@'my-local-hostname';
然后再次重新连接为'MY-USER'@'my-local-hostname'。