mysql主从复制实战
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 要开启
所以我们首先开启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;