主从复制2020-08-20

主从复制

复制基本原理

image.png

复制的三步骤

  • master将改变记录到二进制日志。这些记录过程叫做二进制日志事件,binary log events
  • slave将master的binary log events拷贝到它的中继日志中
  • slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步且串行的。

复制的基本原则

  • 每个slave只有一个master
  • 每个slave只能有一个唯一的服务器ID
  • 每个master可以有多个slave

一主一从常见配置

  • MySQL版本一致且后台服务可以运行
  • 主从主机可以相互通信
  • 主从配置都在[mysqld]结点下,都是小写
主机配置文件 my.ini
server-id = 1       # [必须]主服务器唯一ID
log-bin = 自己本地的路径/mysqlbin   # [必须]启用二进制日志
log-err = 自己本地的路径/mysqlerr   # [可选] 启用错误日志

从机配置文件-mysqld.cnf     /etc/mysql/mysql.conf.d/mysqld.cnf
server-id = 2       # [必须]主服务器唯一ID
log-bin = 自己本地的路径/mysqlbin   # [可选]启用二进制日志
修改过配置文件之后,要重启MySQL服务
service mysql restart
主从都关闭防火墙
service iptables stop
在Windows主机上建立账户并授权slave
grant replication slave on *.* to 'zhangsan'@'从机数据库IP' identified by '123456';

show master status;

记录下File和position的值
配置Linux从机
change master to master_host = '192.168.0.161',
master_user = 'juran',
master_password = '123',
master_log_file = 'mysql-bin.000002',
master_log_pos= 908;
测试是否配置成功
start slave;                 启动从服务器复制功能

show slave status\G 

下面两个参数都是yes,则说明主从配置成功

slave_io_running:yes   

slave_sql_running:yes
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容