Docs/数据库/mysql/主从复制原理与配置.md
2022-10-18 16:59:37 +08:00

8 lines
No EOL
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 原理
master节点将数据的改变记录到二进制binlog中slave会在一定时间间隔内对master二进制进行探测若发生改变那就开始一个io_thread请求master的二进制binlogmaster启动一个log dump线程发送二进制文件给slave并保存在slave节点的中继日志relay log中slave使用sql_thread从中继日志读取二进制文件在本地重放使得slave的数据与主节点保持一致最后io_thread和sql_thread休眠等待下次被唤醒
### 配置
1、主库my.cnf需要配置server_idbin_log(server_id唯一)
2、主节点创建一个具有复制权限的用户show master status查看master状态记录当前的log_bin文件和position
3、从节点my.cnf需要配置server_idread_only=true(防止在从节点执行update等操作但是对高权限的用户无效)
4、从节点执行change master to master_host=xxx,master_port=xxx,master_user=xxx,master_password=xxx,log_file='master-log-bin.xxxx',log_pos=xxx ,然后start slave可以通过show slave status\G查看状态