mysql 主从复制

1. 主从服务器分别作以下操作:
  1.1、版本一致
  1.2、初始化表,并在后台启动mysql
  1.3、修改root的密码

2. 修改主服务器master:
# vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin  //将mysql二进制日志取名为mysql-bin
binlog_format=mixed //二进制日志的格式,有三种:statement/row/mixed,具体分别不多做解释,这里使用mixed
server-id=20 //为服务器设置一个独一无二的id便于区分,这里使用ip地址的最后一位充当server-id  

3. 主服务器添加授权账号
mysql > GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.1.%' identified by '123456';
mysql > flush privileges;
mysql > SET GLOBAL server_id=20;  
mysql > show master status;	//查看主服务器状态

4. 修改主服务器master:
# vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin  //将mysql二进制日志取名为mysql-bin
binlog_format=mixed //二进制日志的格式,有三种:statement/row/mixed,具体分别不多做解释,这里使用mixed
server-id=21 //为服务器设置一个独一无二的id便于区分,这里使用ip地址的最后一位充当server-id  
relay-log=mysql-relay-log	//中继日志
//这两个参数会将master.info和relay.info保存在表中,非必须配,低版本无此参数
#master_info_repository=TABLE  
#relay_log_info_repository=TABLE
skip_slave_start=on	//slave复制进程不随mysql启动而启动

5. 从服务器配置
mysql > stop slave;
mysql > reset slave;
mysql > SET GLOBAL server_id=21;  
mysql > CHANGE MASTER TO
MASTER_hOST="192.168.1.20",
MASTER_USER="repl",
MASTER_PASSWORD="123456",
MASTER_LOG_FILE="mysql-bin.000104",
MASTER_LOG_POS=534654;

mysql > start slave;
mysql > show slave status G	//查看从服务器状态 Slave_IO_Running: Yes Slave_SQL_Running: Yes

  

原文地址:https://www.cnblogs.com/hefei/p/6292788.html