欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql主从复制实战

程序员文章站 2022-05-15 14:45:39
...

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主从复制实战

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