数据库——主从同步

829 阅读1分钟

主从同步原因

为了减轻服务器处理海量并发访问所产生的性能问题,方案之一读写分离

如何同步

  • 主库db的更新事件(update、insert、delete)被写到binlog
  • 主库创建一个binlog dump thread,把binlog的内容发送到从库
  • 从库启动并发起连接,连接到主库
  • 从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log
  • 从库启动之后,创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db

MYSQL 主从添加新从库

  • 主库创建账号

show master status; GRANT REPLICATION SLAVE ON . to 'reader'@'%' identified by 'readerpwd'; flush privilegs

  • 从库配置,开启binlog
  • 备份主库

mysqldump -uroot -p123 --routines --single_transaction --master-data=2 --databases testdb > testdb.sql

  • 从库创建数据库并导入数据
  • 启动从库