在mysql数据库上运行pt-table-sync
时,继续获取Access Denied错误,这些数据库中包含pt-table-checksum
在复制表中发现差异的表。
[mysql@node1:0 ~]$ pt-table-sync --execute --verbose master.com slave.com -uroot -ppasswd
DBI connect(';host=master.com;mysql_read_default_group=client','root',...)
failed: Access denied for user 'root'@'master.com' (using password: YES) at /usr/bin/pt-table-sync line 2163
从主服务器运行。
任何想法我做错了什么?
答案 0 :(得分:0)
它必须是工具连接到服务器的方式。确保密码中的任何符号或其他字符都已转义。此外,如果从远程服务器进行连接,请检查是否已启用root访问权限。查看this blog article了解如何处理后者。
根据MySQL docs:
如果您收到以下错误,则表示您正在使用 root密码错误:
壳> mysqladmin -u root -pxxxx ver拒绝用户访问 'root'@'localhost'(使用密码:YES)如果发生上述错误 即使您没有指定密码,也意味着您拥有密码 某些选项文件中列出的密码不正确。试试--no-defaults 如上一项所述的选项。
有关更改密码的信息,请参见第6.3.5节“分配” 帐户密码“。
如果您丢失或忘记了root密码,请参阅第C.5.4.1节, “如何重置root密码”。
也许有帮助:
您可以通过客户端程序禁止使用选项文件 使用--no-defaults选项调用它。例如:
壳> mysqladmin --no-defaults -u root version 选项文件 客户端使用在第4.2.3.3节“使用选项文件”中列出。 环境变量在第2.13节“环境”中列出 变量”。