MYSQL主从复制原理在真实的归宿的文章 高性能Mysql主从架构的复制原理及配置详解里已经讲解的很清晰了。我在这里记录一下我的操作与我自己的理解。 我需要查看一下 show variables like '%binlog%' 的各个参数含义 1.首先要理解MYSQL主从复制的原理,再来想

MYSQL主从复制原理在真实的归宿的文章 高性能Mysql主从架构的复制原理及配置详解 里已经讲解的很清晰了。我在这里记录一下我的操作与我自己的理解。

我需要查看一下 show variables like '%binlog%' 的各个参数含义


1.首先要理解MYSQL主从复制的原理,再来想需要注意的问题。

A.需要开启bin-log.

B.由于两部服务器需要通过SOCKET通讯,防火墙需要打开3306端口(实际上请求是通过master的3306端口主动发起,其他端口是否需要打开还未考究)。

C. Slave 的 relay-log 要开启

mysql主从复制实战-LMLPHP

所以我们首先开启master的 bin-log(方法:找到my.cnf,加入 server-id=xx,log-bin=/var/lib/mysql/log/mysql-bin.log,重启数据库,show variables like '%binlog%' )。


第二步:在master创建一个给slave的账号。

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO backup@’10.100.0.200’
IDENTIFIED BY ‘1234’;


再执行 show master status ;

获取 log-bin文件位置 和 目前位置position(以便能从这里开始复制)


第三步:将master的原始数据拷贝到slave中去。

第四步:改slave配置,

log_bin = mysql-bin
server_id = 2
relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1


mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.9',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='p4ssword',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=0;


mysql> START SLAVE;

运行SHOW SLAVE STATUS查看输出结果:

mysql> SHOW SLAVE STATUS\G

主要看

Slave_IO_Running=Yes(start slave之后等几秒钟这个才会变成YES)
Slave_SQL_Running=Yes

这两个都是YES就基本可以了。

mysql>show processlist\G;

mysql主从复制实战-LMLPHP


09-05 06:57