ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg) ***** ## 主从复制 ### 复制的基本原理 ![](https://img.kancloud.cn/7b/21/7b21ba30f87eeaea15db596afa308d63_583x421.png) ### 复制的三步骤 * 1.master将改变记录到二进制日志。这些记录过程叫做二进制日志事件,binary log events * 2.slave将master的binary log events拷贝到它的中继日志 * 3.slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行的 ### 复制的基本原则 * 1.每个slave只有一个master * 2.每个slave只能有一个唯一的服务器ID * 3.每个master可以有多个salve ### 一主一从常见配置 * 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 = 1 # [必须]主服务器唯一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 = 'binlog.000004', master_log_pos= 908; ``` ### 测试是否配置成功 ``` start slave; 启动从服务器复制功能 show slave status\G 下面两个参数都是yes,则说明主从配置成功 slave_io_running:yes slave_sql_running:yes ```