我尝试使用mysqldbcompare
工具但遇到连接错误:
$ mysqldbcompare --server1=client --skip-data-check db1:db2
# server1 on <ip>: ...
ERROR: Access denied for user 'root'@'<ip>' (using password: YES)
我可以使用mysql
然后连接就好了。我使用mysql_config_editor --host=<ip> --user=root --port=3306 --password
设置我的信用卡并使用mysql
命令进行测试,并且不使用所有参数(mysql -u root -p -h <ip> -P 3306
)。
我检查了服务器的绑定地址并查看了服务器错误日志,但它只是重复了连接被拒绝的消息。我已经在网上搜索过(并且在SO上搜索过)但是还没找到任何东西。
感谢任何帮助。
答案 0 :(得分:0)
我认为mysql的这个命令比较不使用默认配置,尝试强制用户和密码进入命令行。
答案 1 :(得分:0)
当您遇到访问被拒绝错误时,表示已建立TCP连接,但您提供的密码错误为'User'@'Host'
(用户 - 主机对是MySQL身份验证的真实帐户,而不是单个用户名。)
假设MySQL服务器在172.0.0.8
上运行且您的本地地址为172.0.0.5
。
mysql.user
查看SELECT * FROM mysql.user\G;
。如果您找不到这两个用户 - 主机对中的任何一个:'root'@'172.0.0.5'
和'root'@'%'
,则表示没有此类帐户。所以你失败了。mysqldbcompare --server1=root:password@172.0.0.8:3306 --skip-data-check db1:db2
逐步检查所有这些内容,你会发现它。