我在两台mysql服务器之间进行了复制设置,一台是主服务器,另一台是从服务器。
除非出于任何原因重新启动主服务器,否则这很有效。当它恢复时,从站不连接。在奴隶上我做了一个启动奴隶;然后它失败了
090922 17:49:59 [错误] 无法打开中继日志 '/var/run/mysqld/mysqld-relay-bin.000009' (relay_log_pos 67391580) 090922 17:49:59 [错误] 期间找不到目标日志中继日志初始化
我被迫从主服务器获取所有数据并将其加载回从服务器并重新启动。
我怎样才能避免这种情况发生,所以如果主服务器确实重新启动,那么重新做所有数据库就不是任务了。
这是配置文件 Red Hat 5, mysql 5.0.45
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
server-id = 9180
slave_compressed_protocol=1
max_allowed_packet=16M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
出于某种原因,听起来重启主服务器会清除二进制日志。MySQL 自己不会这样做。它要么
RESET MASTER
在某个时候收到命令,要么服务器启动中的某些东西正在清除/var/run
。当从服务器上的配置使用 DNS 名称连接到主服务器时,我曾经见过这种情况。就我而言,解决方案是改用 IP 地址。
顺便说一句,当你说“我做一个启动奴隶”时,你是先停止它,不是吗?
我以前见过这个。不要把你的日志放在 /var/run 中。如果我没记错的话,系统会自动删除此目录中的文件。试着把你的 binlogs 放到另一个目录,看看你的错误是否再次出现。