今天本人在配置mysql集群的时候遇到的一个问题:
数据库主从出错: Slave_IO_Running: No 并且报以下错误: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' 按照网上的方法在如此操作: 在从机 mysql> slave stop;
到master机器登陆mysql:记录master的bin的位置,
mysql> show mster status; +-------------------+----------+--------------+-------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------------------+ | mysqld-bin.000010 | 106 | | information_schema,mysql | +-------------------+----------+--------------+-------------------------------------------+ 日志为mysqld-bin.000010 mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000011',MASTER_LOG_POS=106;
mysql> slave start;
mysql> show slave status\G;
此时可以显示出Slave_IO_Running: Yes Slave_SQL_Running: Yes,但是数据库并不会同步,在主机对数据库进行修改,从机不会更新,并且Slave_IO_Running也变成了no。
后来经过各种排查才发现是主机中的my.cnf文件没有配置需要同步的数据库名字在主从的文件中都加上这句话,binlog-do-db=user,表示要进行同步的数据库名字为user即可,如果有多个数据库需要同步就加多几句。