mysql5.7主从同步配置
MySQL主从复制配置与管理教程

MySQL主从复制配置与管理教程MySQL主从复制是一种常见的数据库复制技术,它可以实现将一个MySQL服务器数据复制到其他多个MySQL服务器的功能。
在实际应用中,主从复制广泛用于分布式数据库架构、数据备份和读写分离等场景。
本文将详细介绍MySQL主从复制的配置和管理教程,帮助读者快速掌握相关知识。
一、概述MySQL主从复制是指将一个MySQL数据库服务器作为主服务器,其他MySQL服务器作为从服务器,并通过二进制日志来同步主服务器的数据更新操作到从服务器上。
主从复制的目的是实现数据的冗余备份、提高数据库的读性能以及实现高可用性。
二、环境准备在开始配置MySQL主从复制之前,我们需要确保满足以下条件:1. 在主服务器和从服务器上都已经安装了MySQL数据库软件,并且版本一致。
2. 主服务器和从服务器之间可以互相访问,并且网络连接可靠稳定。
3. 确保主服务器和从服务器的配置文件中都正确设置了主机名、IP地址和端口号等信息。
4. 主服务器上已经有需要复制的数据库,并且该数据库已经开启了二进制日志功能。
三、主从复制的基本原理MySQL主从复制的实现依赖于MySQL的二进制日志(Binary Log)和复制线程(Replication Thread)。
当在主服务器上执行一条更新操作时,会将该操作记录到主服务器的二进制日志中。
从服务器连接到主服务器,并通过复制线程将主服务器的二进制日志同步到从服务器上执行,从而实现主从数据的一致性。
四、主服务器配置1. 配置主服务器的f文件,开启二进制日志功能:在f文件中找到[mysqld]部分,在其中添加以下配置:```log-bin=mysql-binbinlog-format=ROWserver-id=1```其中,log-bin=mysql-bin表示指定二进制日志的命名前缀;binlog-format=ROW表示选择以行格式记录二进制日志;server-id=1表示主服务器的唯一标识符。
MySQL主从双向同步复制

MySQL主从双向同步复制本⽂介绍了mysql主从,实现mysql的双向同步复制。
MySQL⽀持单向、异步复制,复制过程中⼀个服务器充当主服务器,⽽⼀个或多个其它服务器充当从服务器。
主服务器将更新写⼊⼆进制⽇志⽂件,并维护⽇志⽂件的⼀个索引以跟踪⽇志循环。
当⼀个从服务器连接到主服务器时,它通知主服务器从服务器在⽇志中读取的最后⼀次成功更新的位置。
从服务器接收从那时起发⽣的任何更新,然后封锁并等待主服务器通知下⼀次更新。
为什么使⽤主从复制?1、主服务器/从服务器设置增加了健壮性。
主服务器出现问题时,你可以切换到从服务器作为备份。
2、通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。
但是不要同时在主从服务器上进⾏更新,这样可能引起冲突。
3、使⽤复制的另⼀个好处是可以使⽤⼀个从服务器执⾏备份,⽽不会⼲扰主服务器。
在备份过程中主服务器可以继续处理更新。
MySQL使⽤3个线程来执⾏复制功能(其中1个在主服务器上,另两个在从服务器上。
当发出START SLAVE时,从服务器创建⼀个I/O线程,以连接主服务器并让主服务器发送⼆进制⽇志。
主服务器创建⼀个线程将⼆进制⽇志中的内容发送到从服务器。
从服务器I/O线程读取主服务器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据⽬录中的本地⽂件中,即中继⽇志。
第3个线程是SQL线程,从服务器使⽤此线程读取中继⽇志并执⾏⽇志中包含的更新。
SHOW PROCESSLIST语句可以查询在主服务器上和从服务器上发⽣的关于复制的信息。
默认中继⽇志使⽤host_name-relay-bin.nnnnnn形式的⽂件名,其中host_name是从服务器主机名,nnnnnn是序列号。
⽤连续序列号来创建连续中继⽇志⽂件,从000001开始。
从服务器跟踪中继⽇志索引⽂件来识别⽬前正使⽤的中继⽇志。
默认中继⽇志索引⽂件名为host_name-relay-bin.index。
MySQL主从数据库配置与原理

MySQL主从数据库配置与原理1.为什么要搭建主从数据库(1)通过增加从库实现读写分离,提⾼系统负载能⼒(2)将从库作为数据库备份库,实现数据热备份,为数据恢复提供机会(3)根据业务将不同服务部署在不同机器同时⼜共享相同的数据2.主从数据库原理分析主从数据库同步流程步骤⼀:主库开启binlog⽇志后,会启动dump将数据数据变化写⼊binlog步骤⼆:从库开启slave参数后,会与主库建⽴⼀个连接步骤三:主库数据变化是dump线程会将变化的数据写⼊binlog中并将数据通过步骤⼆建⽴的连接写到从库中步骤四:从库接收到主库发送的binlog内容后将内容写⼊relay log步骤五:创建⼀个SQL线程从relay log读取数据写⼊到数据库中3.搭建流程以contes7系统,5.7.29版本的数据库为例(1)安装完数据库之后找到主库mysql服务的配置⽂件f,⼀般默认在/etc/⽬录下(2)在配置⽂件中的[mysqld]下增加以下两⾏,server-id为mysql服务唯⼀id,不⽤mysql服务不能重复,log-bin=mysql-bin为⽣成binlog的⽂件⽬录和⽂件名,也可写成log-bin=/⾃定义⽬录/mysql-binserver-id=1log-bin=mysql-bin(3)mysql会话输⼊show master status;(4)修改从库mysql服务配置⽂件,增加以下⼀⾏配置server-id=2(5)在主库会话中创建从库同步数据的账号并刷新权限,赋予slave权限到⽤户名为“slave”的账户上,“%”表⽰不限制ip,密码为“123456”grant replication slave on *.* to 'slave'@'%' identified by '123456';flush privileges;(6)从库mysql会话设置要连接的主库的相关信息,设置参数与show master status查询出来的数据对应上即可change master to master_host='192.168.168.243',master_user='slave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=8378;(7)从库开启同步功能start slave;(8)查看从库状态show slave status; 可以看到Slave_IO_Running和Slave_SQL_Running两个线程已启动。
云平台MySQL主从同步配置说明

云平台MySQL主从同步配置说明一、云管理服务器初始化Step 1.关闭数据库shell> mysqladmin -uusername -p shutdownStep 2.在/doc/e410179950.html,f中更改如下选项。
[mysqld]server-id=1gtid_mode=onenforce-gtid-consistency=oninnodb_flush_log_at_trx_commit=1sync_binlog=1master_info_repository=TABLErelay_log_info_repository=TABLElog-slave-updates=onlog0bin=skip-slave-start #复制进程就不会随着数据库的启动而启动slave_skip_errors = ddl_exist_errorsbinlog_format = rowauto-increment-increment = 2 #必须要auto-increment-offset = 1 #必须要说明:master_info_repository# master info log 文件记录了备节点的连接信息,例如用户名,密码等,同时包括主节点信息relay_log_info_repository# 记录了备节点应用relay log 文件的进度情况log_bin #这里指定的bin.log 默认路径是/var/lib/mysql/mysql-bin.000001,显示格式是名字加点6位数字,最后一个不一定是1,可以指定绝对路径sync_binlog默认为0,为0时当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache 中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘为n时,当每进行n次事务提交之后,MySQL将进行一次fsync 之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘,这里改为1,为0时的性能是最好的,但是风险也是最大的。
mysql互为主从(双主)配置

mysql互为主从(双主)配置 环境: ubuntu18.04.2 mysql5.7.21---------------master1服务器操作记录---------------在f⽂件的[mysqld]配置区域添加下⾯内容:[root@master1 ~]# vim /etc/fserver-id = 1log-bin = mysql-binsync_binlog = 1binlog_checksum = nonebinlog_format = mixedauto-increment-increment = 2auto-increment-offset = 1slave-skip-errors = all[root@master1 ~]# cd /usr/local/mysql/support-files[root@master1 ~]#./mysql.server restartShutting down MySQL. SUCCESS!Starting MySQL.. SUCCESS!数据同步授权(iptables防⽕墙开启3306端⼝)这样I/O线程就可以以这个⽤户的⾝份连接到主服务器,并且读取它的⼆进制⽇志。
mysql>grant all privileges on *.* to root@'%' identified by "123456";#grant replication slave,replication client on *.* to root@'192.168.85.%' identified by "123456";Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)最好将库锁住,仅仅允许读,以保证数据⼀致性;待主主同步环境部署后再解锁;锁住后,就不能往表⾥写数据,但是重启mysql服务后就会⾃动解锁!mysql> flush tables with read lock; //注意该参数设置后,如果⾃⼰同步对⽅数据,同步前⼀定要记得先解锁!Query OK, 0 rows affected (0.00 sec)查看下log bin⽇志和pos值位置mysql> show master status;+------------------+----------+--------------+--------------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+--------------------------+-------------------+| mysql-bin.000004 | 430 | | mysql,information_schema | |+------------------+----------+--------------+--------------------------+-------------------+1 row in set (0.00 sec)---------------master2服务器操作记录---------------在f⽂件的[mysqld]配置区域添加下⾯内容:[root@master2 ~]# vim /etc/fserver-id = 2log-bin = mysql-binsync_binlog = 1binlog_checksum = nonebinlog_format = mixedauto-increment-increment = 2auto-increment-offset = 2slave-skip-errors = all[root@master1 ~]# cd /usr/local/mysql/support-files[root@master1 ~]#./mysql.server restartShutting down MySQL.. SUCCESS!Starting MySQL.. SUCCESS!mysql> grant replication slave,replication client on *.* to root@'192.168.85.%' identified by "123465";Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> flush tables with read lock;Query OK, 0 rows affected (0.00 sec)mysql> show master status;+------------------+----------+--------------+--------------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+--------------------------+-------------------+| mysql-bin.000003 | 430 | | mysql,information_schema | |+------------------+----------+--------------+--------------------------+-------------------+1 row in set (0.00 sec)---------------master1服务器做同步操作---------------mysql> unlock tables; //先解锁,将对⽅数据同步到⾃⼰的数据库中mysql> slave stop;mysql> change master to master_host='192.168.85.141',master_user='root',master_password='12346',master_log_file='mysql-bin.000003',master_log_pos=430;Query OK, 0 rows affected, 2 warnings (0.01 sec)mysql> start slave;Query OK, 0 rows affected (0.01 sec)查看同步状态,如下出现两个“Yes”,表明同步成功!mysql> show slave status \G;*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 182.148.15.237Master_User: wangMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000003Read_Master_Log_Pos: 430Relay_Log_File: mysql-relay-bin.000002Relay_Log_Pos: 279Relay_Master_Log_File: mysql-bin.000003Slave_IO_Running: YesSlave_SQL_Running: Yes.........................Seconds_Behind_Master: 0.........................这样,master1就和master2实现了主从同步,即master1同步master2的数据。
mysql主从同步及canal配置详解

mysql主从同步及canal配置详解定义∙mysql配置文件:/etc/f∙canal服务配置文件:%canal_home%/conf/canal.properties∙canal实例配置文件:%canal_home%/conf/instance_name/instance.properties mysql主从同步●mysql的主从同步主要是binlog技术(binlog介绍见/uid-21505614-id-1993534.html),所以首先需要修改mysql配置文件,打开master上的binlog:除此以外,还需要配置需要做同步的数据库/表,和不需要做同步的数据库,否则会产生大量不关注的垃圾数据:●●主从服务的启动:首先在master上查看binlog信息:然后在slave上依次执行如下命令来启动slave:最后查看slave状态:只要Slave_IO_Running和Slave_SQL_Running为Yes就OK了●mysql对于binlog处理方式的一些Q&A见:/zqrferrari/archive/2011/06/29/2093675.html ●●清除binlog删除指定binlog文件之前的binlog:删除指定日期之前的binlog:canalcanal原理:1.canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议2.mysql master收到dump请求,开始推送binary log给slave(也就是canal)3.canal解析binary log对象(原始为byte流)如下图:。
Mysql主从同步和数据一致性
Mysql主从同步和数据⼀致性Mysql主从同步架构Mysql集群通常指Mysql的主从复制架构,架构为⼀主多从,通过逻辑复制的⽅式把主库数据复制到从库,但主从之间⽆法保证严格⼀致的模式,会带来主从“数据⼀致性”的问题。
Mysql主从复制原理主从同步步骤:1. 主库将变更写⼊binlog⽇志2. 从库连接到主库后会有⼀个IO进程把主库的binlog复制过来,写⼊⼀个中继⽇志中3. 从库的⼀个sql进程会从中继⽇志中读取sql然后执⾏注意点:1. 从库同步主库的数据是串⾏化的,也就是说在主库并⾏的操作,在从库会串⾏化执⾏。
在⾼并发场景下,从库的数据是⼀定会⽐主库慢⼀些的,是有延时的,所以经常出现,刚写⼊主库的数据可能是读不到的,要过⼏⼗毫秒,甚⾄⼏百毫秒才能读取到。
2. 如果主库突然宕机,数据恰好没有同步到从库,那么从库就会产⽣数据丢失的问题解决Mysql主从同步数据⼀致性的问题1. mysql的主从复制机制⾸先看mysql在主从复制这块使⽤的三种机制:1. 异步复制2. 半同步复制3. 全同步复制(组复制)异步复制mysql的默认复制机制是异步的,主库执⾏完客户端提交的事务后会⽴刻把结果返回给客户端,并不关⼼从库是否接收并处理,会导致如果主DB宕机了,就可能导致主机上提交的事务可能并没有同步到从db中,主从之间⽆法保证严格⼀致的模式半同步复制介于异步复制和并⾏复制之间,MySQL在5.5中引⼊了半同步复制,主库执⾏完客户端提交的事务后并不会⽴刻返回给客户端,⽽是强制⽴即将数据同步给从库,从库将⽇志写⼊到⾃⼰的reply log中后,接着会返回⼀个ack给主库,主库等待⾄少⼀个从库接收到ack才返回给客户端;相对于异步复制,提⾼了数据的安全性,但也提⾼了延迟,最少是⼀个TCP/IP往返的时间,所以最好在低延迟的⽹络中使⽤半同步复制通过rpl_semi_sync_master_wait_point参数来控制主库在哪个环节接收从库的ack,该参数有两个选项:WAIT_AFTER_SYNC 、WAIT_AFTER_COMMIT配置为WAIT_AFTER_COMMIT时:如上图所⽰,会带来两个问题:1. 提交的调⽤在主db提交之后,虽然没有返回给客户端,但是事务已经提交了,其他客户端会读取到已提交的数据;2. 如果从库还没有读到该事务,但是主库宕机了,切换到了其他从库,那么之前读到的事务就不见了,就出现了数据不⼀致的问题,如果主库永远启动不了,那么实际上在主库已经成功提交的事务,在从库上是找不到的,也就是数据丢失了。
MySql主从同步的机制
MySql主从同步的机制MySql主从同步是⽬前使⽤⽐较⼴泛的数据库架构,技术⽐较成熟,配置也简单,特别是对于负载⽐较⼤的⽹站,主从同步能够有效缓解数据库的读写压⼒。
MYSQL主从同步的机制MySQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过⼀个I/O线程从Master MySQL上读取binlog,然后传输到Slave MySQL的中继⽇志中,然后Slave MySQL的SQL线程从中继⽇志中读取中继⽇志,然后应⽤到Salve MySQL数据中。
这样就实现了主从同步功能。
MySQL主从同步的作⽤1、可以作为⼀种备份机制,相当于热备份2、可以⽤来做读写分离,均衡数据库负载⼀、准备操作1、主从数据库版本⼀致,建议版本5.5以上2、主从数据库数据⼀致⼆、主数据库master修改1、修改MySQL配置:# ⽇志⽂件名log-bin = mysql-bin# 主数据库端ID号server-id = 12、重启mysql,创建⽤于同步的账户:# 创建slave帐号slave_account,密码123456mysql>grant replication slave on *.* to 'slave_account'@'%' identified by '123456';# 更新数据库权限mysql>flush privileges;3、查询master的状态mysql> show master status;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000009 | 196 | | |+------------------+----------+--------------+------------------+1 row in set注:执⾏完这个步骤后不要再操作主数据库了,防⽌主数据库状态值变化三、从数据库slave修改1、修改MySQL配置:# 从数据库端ID号server-id =22、执⾏同步命令# 执⾏同步命令,设置主数据库ip,同步帐号密码,同步位置mysql>change master to master_host='192.168.1.2',master_user='slave_account',master_password='123456',master_log_file='mysql-bin.000009',master_log_pos=196;# 开启同步功能mysql>start slave;3、检查从数据库状态:mysql> show slave status\G;*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.1.2Master_User: slave_accountMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000009Read_Master_Log_Pos: 196Relay_Log_File: vicky-relay-bin.000002Relay_Log_Pos: 253Relay_Master_Log_File: mysql-bin.000009Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB:Replicate_Ignore_DB:...。
MySQL主从同步(1)-概念和原理介绍以及主从主主模式部署记录
MySQL主从同步(1)-概念和原理介绍以及主从主主模式部署记录Mysql复制概念Mysql内建的复制功能是构建⼤型⾼性能应⽤程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某⼀台主机数据复制到其它主机(slaves)上,并重新执⾏⼀遍来实现的。
复制过程中⼀个服务器充当主服务器,⽽⼀个或多个其它服务器充当从服务器。
主服务器将更新写⼊⼆进制⽇志⽂件,并维护⽂件的⼀个索引以跟踪⽇志循环。
这些⽇志可以记录发送到从服务器的更新。
当⼀个从服务器连接主服务器时,它通知主服务器从服务器在⽇志中读取的最后⼀次成功更新的位置。
从服务器接收从那时起发⽣的任何更新,然后封锁并等待主服务器通知新的更新。
Mysql⽀持哪些复制- 基于语句的复制: 在主服务器执⾏SQL语句,在从服务器执⾏同样语句。
MySQL默认采⽤基于语句的复制,效率较⾼。
⼀旦发现没法精确复制时, 会⾃动选基于⾏的复制。
- 基于⾏的复制: 把改变的内容复制过去,⽽不是把命令在从服务器上执⾏⼀遍. 从mysql5.0开始⽀持- 混合类型的复制: 默认采⽤基于语句的复制,⼀旦发现基于语句的⽆法精确的复制时,就会采⽤基于⾏的复制。
Mysql复制解决的问题- 数据分布 (Data distribution )- 负载平衡(load balancing)- 据备份(Backups) ,保证数据安全- ⾼可⽤性和容错⾏(High availability and failover)- 实现读写分离,缓解数据库压⼒Mysql主从复制原理master服务器将数据的改变都记录到⼆进制binlog⽇志中,只要master上的数据发⽣改变,则将其改变写⼊⼆进制⽇志;salve服务器会在⼀定时间间隔内对master⼆进制⽇志进⾏探测其是否发⽣改变,如果发⽣改变,则开始⼀个I/O Thread请求master⼆进制事件,同时主节点为每个I/O线程启动⼀个dump线程,⽤于向其发送⼆进制事件,并保存⾄从节点本地的中继⽇志中,从节点将启动SQL线程从中继⽇志中读取⼆进制⽇志,在本地重放,使得其数据和主节点的保持⼀致,最后I/O Thread和SQL Thread将进⼊睡眠状态,等待下⼀次被唤醒。
MySQL主从同步
MySQL主从同步MySQL主从同步1. 主从同步机制1.主从同步介绍和优点在多台数据服务器中,分为主服务器和从服务器。
⼀台主服务器对应多台从服务器。
主服务器只负责写⼊数据,从服务器只负责同步主服务器的数据,并让外部程序读取数据。
主服务器写⼊数据后,即刻将写⼊数据的命令发送给从服务器,从⽽使得主从数据同步。
应⽤程序可以随机读取某⼀台从服务器的数据,这样就可以分摊读取数据的压⼒。
当从服务器不能⼯作时,整个系统将不受影响;当主服务器不能⼯作时,可以⽅便地从从服务器选举⼀台来当主服务器使⽤主从同步的优点:提⾼读写性能因为主从同步之后,数据写⼊和读取是在不同的服务器上进⾏的,⽽且可以通过增加从服务器来提⾼数据库的读取性能。
提⾼数据安全因为数据已复制到从服务器,可以在从服务器上备份⽽不破坏主服务器相应数据。
2.主从同步机制MySQL服务器之间的主从同步是基于⼆进制⽇志机制,主服务器使⽤⼆进制⽇志来记录数据库的变动情况,从服务器通过读取和执⾏该⽇志⽂件来保持和主服务器的数据⼀致。
2. Docker安装运⾏MySQL从机提⽰:本项⽬中我们搭建⼀主⼀从的主从同步。
主服务器:ubuntu操作系统中的MySQL。
从服务器:Docker容器中的MySQL。
1.获取MySQL镜像主从同步尽量保证多台MySQL的版本相同或相近。
$ sudo docker image pull mysql:5.7.22或$ sudo docker load -i ⽂件路径/mysql_docker_5722.tar2.指定MySQL从机配置⽂件在使⽤Docker安装运⾏MySQL从机之前,需要准备好从机的配置⽂件。
为了快速准备从机的配置⽂件,我们直接把主机的配置⽂件拷贝到从机中。
$ cd ~$ mkdir mysql_slave$ cd mysql_slave$ mkdir data$ cp -r /etc/mysql/mysql.conf.d ./3.修改MySQL从机配置⽂件编辑~/mysql_slave/mysql.conf.d/f⽂件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当网站并发量大时,最先扛不住的可能是数据库了。
所以需要多台服务器进行分担压力。
这时会用到mysql主从同步,把mysql服务器数据分到多台服务器中。
一、主从同步的优点
1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
2、架构的扩展。
业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
3、读写分离,使数据库能支撑更大的并发。
在报表中尤其重要。
由于部分报表sql语句非常的慢,导致锁表,影响前台服务。
如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
二、mysql5.7的安装
实测centos 7 中安装mysql-5.7版本数据库的详细过程,在安装mysql-5.7的时候,可以通过查看日志(/var/log/mysqld.log)提示的错误,进行一步步的调试安装。
这样可以快速准确的解决各种问题,完成搭建。
官网下载页面:https:///downloads/mysql/5.7.html#downloads
一、安装软件
1.下载解压
三、主服务器配置
3.1 编译mysql配置文件,开启bin-log日志,并重启mysqld让配置文件生效
3.2从主服务器中创建从库用户
3.3锁住主库表
3.4查看主库状态
这里的File和Position会在从库中用到
3.5备份所有数据
备份主库中的所有数据到从库中,保持当前主库和从库数据一致
四、从库配置
4.1配置从库f配置文件
5.binlog_format=MIXED
master_log_file文件尾主库中 show master status 中的File,master_log_post为主库中Postion的值
当Slave_IO_Running: Yes Slave_SQL_Running: Yes 都为yes同步成功
4.5在主库中查看从库是否连接到
配置完成。
4.6其他调试语句。