mysql主从复制

Posted xch-xiaocheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从复制相关的知识,希望对你有一定的参考价值。

mysql主从复制配置

一、主服务器Master配置

1、mysql配置文件(/etc/my.cnf)

a)、添加

#服务的唯一标识

server-id=1

#日志文件以binary_log为前缀,如果不给log-bin赋值,日志文件将以#master-server-hostname为前缀

log-bin = binary_log

expire_logs_days=10

max_binlog_size=200M

#需要复制的数据库,多个的话,多次配置如:

binlog-do_db=hi_db

binlog-do_db=direct

#需要忽略的数据库,多个的话,多次配置

binlog_ignore_db=mysql

binlog_ignore_db=direct

b)、重启数据库

service mysqld restart;

c)、查看master服务器状态

mysql -uroot -p

show master status;

 

d)、mysql> CREATE USER ‘slave‘@‘%‘ IDENTIFIED BY ‘123‘;#创建用户

mysql> GRANT REPLICATION SLAVE ON *.* TO ‘replication‘@‘%‘;#分配权限

mysql>flush privileges; #刷新权限

 

二、从服务器配置

注意:从mysql5.2版本后,就不在支持在配置文件里配置master_host之类的属性,可以在登录mysql之后,用chang master to 命令指定,如:change master to master_host=‘192.168.1.209‘,master_user=‘slave‘, master_log_file=‘binary_log.000015‘, master_log_pos=120,master_password=‘123‘;

1、配置文件(/etc/my.cnf)

#服务的唯一标识

server-id=2

#并行复制线程数

slave_parallel_workers=10

2、重启mysql

service mysqld restart

3、配置slave

mysql -u -root -p

change master to master_host=‘192.168.1.209‘,master_user=‘slave‘, master_log_file=‘binary_log.000015‘, master_log_pos=120,master_password=‘123‘;

说明,master_log_file属性值和master 的show master status 的file值对应,master_log_pos和position值对应

4、启动slave

mysql -u root -p

start slave;(停止 stop slave;)

5、查看slave状态

show slave statusG;

如果出现Slave_IO_Running: Yes

Slave_SQL_Running: Yes

则证明主从复制已经配置完成;

三、常见错误和注意事项

1、主master里配置的binlog-do_db的值,在从库里必须存在,并且表属性一致

2、binlog-do_db可以不指定,表明除了binlog_ignore_db指定的表之外,都会在复制范围内

3、Slave_SQL_Running: No

a)、程序可能在slave上进行了写操作

b)、一般是事务回滚造成的:

查看错误原因:show slave statusG;

mysql> stop slave ;

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql> start slave ;

b1)、也可以手动启动,(查看master状态,设置从服务属性,从起从服务)

 

4、Slave_IO_Running: Connecting

原因有:1. 1、网络不通

  1. 2、密码不对
  2. 3、pos不对

 

 

 

 

 

 

 

以上是关于mysql主从复制的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中主从复制不同步?

MySQL主从复制和读写分离

MySQL主从复制和读写分离

Linux----------mysql主从复制和基于GTID主从复制

MySQL主从复制

mysql主从复制概述以及配置mysql5.7.10实现简单主从复制