Mysql主从复制
Mysql主从复制
背景
当所有的读写操作都集中在一台mysql服务器上时,会使得该台服务器负载增大,其次是,当数据全部集中到一台服务器上,且没有其他服务器做备份的话,一旦发生事故导致数据丢失,会带来巨大的损失。要想解决这两个问题,就引出了Mysql主从复制的功能,即将主服务器上的数据“备份”一份,放到从服务器上,然后让从服务器也承担一部分数据库功能,比如专门查询,这样既缓解了一个服务器的压力,又能存在备份。
框架图
步骤
- 主库将所有的写操作记录到binlog日志中并生成一个log dump线程,将binlog日志传给从库的I/O线程。
- 从库的IO线程会读取主库的binlog日志,然后将读到的日志写入relaylog(中继日志)中
- 从库的sql线程再读取relaylog然后复现日志中的sql操作,达成主从数据一致
操作
两台服务器,分别配置Mysql
比如:
主库: 192.168.138.100
从库: 192.168.138.101
配置主库
修改配置文件 /etc/my.conf
1 | vim /etc/my.cnf |
然后重启服务:
1 | systemctl restart mysqld |
登录数据库,然后为从库分配一个身份
1 | mysql -u root -p *** |
配置从库
1 | vim /etc/my.cnf |
重启服务,并登录,然后连接到主库
1 | systemctl restart mysqld |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 驴の奇思妙想!
评论