mysql主从复制

一、 MySQL主从复制基础知识
二进制日志binlog: 记录令数据库内容改变的语句,在备份还原时至关重要。(Master端必须开启)
中继日志relay-log:Slave从Master中读取binlog日志后,将其写入到Slave服务器上的relay-log里。(Slave端必须开启)
Server_id(同一集群中唯一):①用于标识sql语句最开始源自于哪里。②标记slave线程

 

二、 MySQL主从复制配置步骤

1. Master服务器配置

启用二进制日志
[mysqld]
log-bin = mysql-bin

设置一个全局唯一的ID号
[mysqld]
server_id = 111

授权给Slave数据库(账号)
mysql> GRANT REPLCATION SLAVE, REPLICATION CLIENT ON *.* \
TO 'slaveuser'@'192.168.30.%' IDENTIFIED BY 'Slave@123';

查看Master的二进制日子记录到了哪里,用于决定Slave从哪开始复制
mysql> show master status\G
*************************** 1. row ***************************
File: mysql-bin.000319
Position: 99952

2. Slave服务器配置
启用中继日志
[mysqld]
relay_log = relay-log
relay_log_index = relay-log.index

设置一个全局唯一的ID号
[mysqld]
server_id = 222

打开只读模式
[mysqld]
Read_only = 1

使用已授权的复制账号连接到Master服务器
mysql> CHANGE MASTER TO MASTER_HOST=‘192.168.30.154’, MASTER_USER=’slaveuser‘, MASTER_PASSWORD='Slave@123', MASTER_LOG_FILE='mysql-bin.000319', MASTER_LOG_POS=99952;

开启复制线程
mysql> START SLAVE;

三、 MySQL主从复制原理

四、 MySQL从数据库状态查询

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.30.154 主库IP
Connect_Retry: 60 中断后多久尝试重连
Master_Log_File: mysql-bin.000319 当前I/O线程正在读取的主服务器二进制日志
Read_Master_Log_Pos: 1005125008 当前I/O线程正在读取的二进制日志的位置
Relay_Log_File: slave-relay-bin.000062 当前SQL线程正在读取并执行的relay log的文件名
Relay_Log_Pos: 1005125171 当前slave SQL线程正在读取并执行的relay log文件中的位置
Relay_Master_Log_File: mysql-bin.000319 当前SQL线程读取并执行的relay log的文件中多数近期事件,对应的主服务器二进制日志文件的名称
Slave_IO_Running: Yes I/O线程是否被启动并成功地连接到主服务器上。
Slave_SQL_Running: Yes SQL线程是否被启动。
Last_Errno: 0 SQL线程读取日志参数的的错误数量
Last_Error: 错误消息
Skip_Counter: 0 SQL_SLAVE_SKIP_COUNTER的值,用于设置跳过sql执行步数
Exec_Master_Log_Pos: 1005125008 SQL线程当前执行的事件,对应在master相应的二进制日志中的position
Relay_Log_Space: 1005125391 所有原有的中继日志结合起来的总大小。
Seconds_Behind_Master: 0 可作为主从延迟时间参照。
Master_Server_Id: 40 主库ID标识
Master_UUID: 829c1b04-e795-11e5-b3a5-ba0e9619274c 主库服务器的UUID
Master_Info_File: /data/mysql/3306/master.info slave保存主库服务器配置信息的路径
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
线程已经处理了中继日志文件中的所有事件,现在正等待I/O线程将新事件写入中继日志。
Master_Retry_Count: 86400 连接主库失败最多的重试次数

 

Reference: https://www.cnblogs.com/paul8339/p/7615310.html 

posted @ 2018-11-29 10:23  elisun  阅读(235)  评论(0编辑  收藏  举报