mysql主从复制配置问题

一,基本步骤

1,创建在主从数据上都创建复制账号,权限选上super, replication slave , replication master(选上这个可以方便从库变成主库);

2,配置主库和备库配置文件 /etc/my.cnf

#master
log_bin = mysql_bin
server_id = 101 #unique id , 可以是Ip的最后几位

#slave
log_bin = mysql_bin #和上面一致
server_id = 102
relay_log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1 
read_only = 1  

3,启动复制,使用root用户登录mysql命令行,运行以下命令

change master to master_host='192.168.0.101',master_user='repl',master_password='yourpass',master_log_file='mysql-bin.000001',master_log_pos=0;

    可以用show slave status\G来查看状态;

start slave;#启动复制

  在主库中可以使用 show processlist\G 查看复制状态;

 

二,遇到的问题

很多问题都可以用 stop slave ; reset slave ; start slave ;解决

1,File 'xxx/mysql/mysql-relay-bin.index' not found

解决方法:权限问题,更改mysql目录的权限:chown mysql.mysql xxx/mysql

2,Could not initialize master info structure

解决方法:在mysql命令行下执行:slave stop ; reset slave;

或者,把mysql data目录下的master.info 0字节文件删除

3,The slave I/O thread stops because SET @master_heartbeat_period on master failed

解决方法:数据库版本不同,安装相同版本

4,Operation CREATE USER failed for 从库已经存在用户xxx

解决方法:删掉这个用户,再启动slave;drop user xxx@xxx ;  stop slave ; start slave; 

posted @ 2013-11-14 10:28  ifeixiang  阅读(672)  评论(0编辑  收藏  举报