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

1.1 KiB
Raw Blame History

原理

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查看状态