mysql 主从复制
主从复制
MySQL 主从复制是指数据从 MySQL 数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据。
-
主节点将数据库写操作记录到 bin log 日志;
-
从节点的 I/O 线程去请求主节点的 bin log,并将得到的 bin log 日志写到 relay log 中继日志;
-
主节点生成一个 Log dump 线程,用于发送 bin log 给从节点 I/O 线程;
-
从节点启动 SQL 线程从 relay log 中读取二进制日志,并解析成具体操作,实现主从数据的一致性。
主节点开启二进制日志:
#vim /etc/my.cnf
log-bin = mysql-bin
server-id = 1
读写分离
在开发工作中,有时候会遇见某个 sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影响现有业务,使用主从复制,让主库负责写,从库负责读,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。