MySQL主从复制问题解决一例

这是mysql关于主从复制的主库的配置相关内容:

  1. server-id       = 1
  2. log-bin=/mysql_log/binlog/bin-log
  3. slave-skip-errors=1062,1205
  4. max_binlog_size = 500M
  5. binlog_cache_size = 128K
  6. relay-log =/mysql_log/relaylog/relaylog
  7. log-slave-updates

之前搭建的MySQL主从复制出现问题,不能正常同步,查看日志,发下有以下错误:

  1. 120726 13:20:36 Could not use /mysql_log/relaylog/relaylog for logging (error 2). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
  2. 120726 13:20:36 Failed in open_log() called from init_relay_log_info()
  3. 120726 13:20:36 Failed to initialize the master info structure
  4. 120726 13:20:36 Could not use /mysql_log/binlog/bin-log for logging (error 2). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
  5. 120801 17:53:00 Failed to open the relay log ‘/mysql_log/relaylog/relaylog.036’ (relay_log_pos 4)
  6. 120801 17:53:00 Could not find target log during relay log initialization
  7. 120801 17:53:00 Failed to initialize the master info structure

1、关闭mysql

  1. [root@111_ddb ~]# mysqladmin -p shutdown
  2. Enter password:
  3. [root@111_ddb data]# tail -f /home/mysql/data/111_ddb.err
  4. 120801 17:56:57 /usr/local/mysql/libexec/mysqld: Normal shutdown
  5. 120801 17:56:58  InnoDB: Starting shutdown…
  6. 120801 17:57:30  InnoDB: Shutdown completed
  7. 120801 17:57:30 /usr/local/mysql/libexec/mysqld: Shutdown Complete
  8. 120801 17:57:30  mysqld ended

2、删除主库上关于binlog日志的记录文件,msater.info 和 relay-log.info

  1. [root@111_ddb ~]# cd /home/mysql/data/
  2. [root@111_ddb data]# ls
  3. 111_ddb.err  111_ddb-slow.log  ddb                     ibdata1      ib_logfile1  master.info  mysql_dd        slow.log  test
  4. 111_ddb.pid  adb               ib_arch_log_0000000000  ib_logfile0  ib_logfile2  mysql        relay-log.info  tdb
  5. [root@111_ddb data]# ls *info
  6. master.info  relay-log.info
  7. [root@111_ddb data]# ls
  8. 111_ddb.err  111_ddb-slow.log  ddb                     ibdata1      ib_logfile1  master.info  mysql_dd        slow.log  test
  9. 111_ddb.pid  adb               ib_arch_log_0000000000  ib_logfile0  ib_logfile2  mysql        relay-log.info  tdb
  10. [root@111_ddb data]# rm -f master.info relay-log.info
  11. [root@111_ddb data]# cd /mysql_log/binlog/
  12. [root@111_ddb binlog]# ls
  13. bin-log.001  bin-log.index
  14. [root@111_ddb binlog]# rm -f *
  15. [root@111_ddb binlog]# cd ../relaylog/
  16. [root@111_ddb relaylog]# ls
  17. relaylog.001  relaylog.index
  18. [root@111_ddb relaylog]# rm -f *
  19. [root@111_ddb relaylog]# cd ../binlog/

3、开启mysql

  1. [root@111_ddb ~]# /usr/local/mysql/bin/mysqld_safe –defaults-file=/usr/local/mysql/etc/innodb.cnf –datadir=/home/mysql/data –user=mysql &
  2. [root@111_ddb data]# tail -f /home/mysql/data/111_ddb.err
  3. 120801 17:58:21  mysqld started
  4. 120801 17:58:23  InnoDB: Started
  5. /usr/local/mysql/libexec/mysqld: ready for connections.
  6. Version: ‘4.0.26-log’  socket: ‘/tmp/mysql.sock’  port: 3306  Source distribution
  7. [root@111_ddb binlog]# ll
  8. total 13080
  9. -rw-rw—- 1 mysql mysql 13365795 Aug  1 17:59 bin-log.001
  10. -rw-rw—- 1 mysql mysql       30 Aug  1 17:58 bin-log.index
  11. [root@111_ddb binlog]# ll
  12. total 13828
  13. -rw-rw—- 1 mysql mysql 14132046 Aug  1 17:59 bin-log.001
  14. -rw-rw—- 1 mysql mysql       30 Aug  1 17:58 bin-log.index
  15. [root@111_ddb binlog]# ll
  16. total 15020
  17. -rw-rw—- 1 mysql mysql 15355877 Aug  1 17:59 bin-log.001
  18. -rw-rw—- 1 mysql mysql       30 Aug  1 17:58 bin-log.index

通过日志和查看binlog文件,说明主库的配置恢复正常
本文出自 “开源一员” 博客,出处http://521cto.blog.51cto.com/950229/951776

评论关闭。