所以我设置了复制,它将从主服务器复制所有数据库,包括 MySQL。
我在主服务器上创建了一个新的user@localhost
,没有密码帐户,它立即反射(reflect)在复制上。两者都是5.7并且绑定(bind)到自己的ip并且有skip-name-resolve
当我尝试从 master 访问该帐户时,它说访问被拒绝。如果我从从属服务器尝试该帐户,它就可以工作。
我什至尝试将其更改为'user'@'%'
,但它仍然只能在从属设备上工作。从主人那里不起作用。我希望该帐户可以在主服务器和从服务器上使用。该帐户仅具有用于 USAGE
的赠款。
编辑:
如果我设置密码,那么它可以在两台服务器上以 user@localhost
的身份运行。没有密码,它只能在从服务器上工作(现在在主服务器上创建了 2 个测试帐户)。这是为什么?
更新:
我像这样创建用户,我可以从主服务器登录,但我必须按返回键。
`create user `user@localhost` identified by '';`
master_server@root: mysql -uuser -p
<-- Enter key, logins fine.
slave_server@root: mysql -uuser
logins without the need of -p switch.
更新:
嗯,主目录下有一个my.cnf,删除它就可以了。
最佳答案
已解决:
如果主目录中存在任何隐藏的.my.cnf,并且使用其他用户名和密码,则会导致此类问题。
删除用户主目录中的任何 .my.cnf。
ls -a ~/
关于Mysql 复制 mysql(全部)数据库 - 奇怪的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39737907/