MYSQL数据库实时同步配置与常见问题解决方法

合集下载

数据库迁移与数据同步的常见问题解析

数据库迁移与数据同步的常见问题解析

数据库迁移与数据同步的常见问题解析随着信息技术的快速发展和互联网应用的普及,数据库迁移和数据同步成为了众多企业和组织在系统升级、数据迁移、数据备份等方面常面临的问题。

然而,在进行数据库迁移和数据同步时,常常会遇到各种问题和挑战。

本文将对数据库迁移和数据同步过程中的常见问题进行解析,并提供相应的解决方案。

一、数据库迁移常见问题解析1. 数据兼容性问题:在进行数据库迁移时,常常会碰到源数据库和目标数据库之间的兼容性问题。

例如,源数据库使用的是Oracle,而目标数据库是MySQL,这时就需要考虑数据类型、函数、存储过程等的差异。

解决方案是进行数据类型转换、重新编写函数和存储过程。

2. 数据一致性问题:在迁移过程中,可能会出现数据丢失或数据不一致的情况。

这主要是由于数据写入过程中的错误、迁移过程中的数据冲突或错误处理不当等原因引起的。

解决方案是通过事务管理、数据同步检验等手段来保证数据的一致性。

3. 数据量过大问题:如果需要迁移的数据量很大,就会面临迁移时间过长、对系统资源消耗过多的问题。

为解决这个问题,可以采用分批次迁移、增量迁移等方式,减少对系统的影响。

4. 迁移过程中的网络问题:如果源数据库和目标数据库之间的网络不稳定或带宽不足,就可能导致迁移过程中断或失败。

为保证迁移的顺利进行,需要进行网络优化、增加带宽等措施。

5. 资源及权限问题:在进行数据库迁移时,需要考虑源数据库和目标数据库的资源限制和权限配置。

例如,迁移过程中可能需要使用特定的系统权限或文件系统权限。

解决方案是在数据库迁移计划中考虑资源和权限的要求,并在迁移前配置好相应的权限。

二、数据同步常见问题解析1. 实时性问题:在数据同步过程中,实时性是一个关键问题。

如果数据同步不及时,可能会导致数据不一致,影响业务的正常运行。

为了解决这个问题,可以采用主从复制、增量同步等方式来实现数据实时同步。

2. 并发导致的问题:在高并发情况下,数据同步可能会导致冲突、阻塞或延迟等问题。

数据库同步技术解决方案

数据库同步技术解决方案

数据库同步技术解决方案一、需求分析1.实时性:数据同步需要尽可能接近实时,以保证数据的准确性。

2.完整性:同步过程中,数据不能丢失,也不能重复。

3.可靠性:同步过程要稳定可靠,不能因为同步失败导致业务中断。

4.扩展性:随着业务的发展,同步方案要能适应不断增长的数据量。

二、技术选型1.同步方向:单向同步、双向同步、多向同步。

根据业务场景,选择合适的同步方向。

2.同步方式:同步复制、异步复制。

同步复制可以保证数据的实时性,但可能会影响性能;异步复制则牺牲实时性,换取更高的性能。

3.同步工具:目前市面上有很多数据库同步工具,如MySQL的binlog、Redis的pub/sub、Kafka等。

我们需要根据实际业务场景和需求,选择合适的同步工具。

三、方案设计1.同步方向:采用单向同步,从主数据库同步到从数据库。

2.同步方式:采用异步复制,降低对主数据库性能的影响。

3.同步工具:使用Kafka作为消息队列,实现数据的异步传输。

具体步骤如下:1.在主数据库上配置binlog,记录数据变更日志。

2.使用KafkaConnect连接主数据库,监听binlog,将数据变更事件转换为Kafka消息。

3.从数据库上部署KafkaConsumer,消费Kafka中的消息,并根据消息内容更新从数据库。

4.为了保证数据的完整性,可以在从数据库上设置主键约束,防止数据重复。

5.为了提高同步性能,可以设置Kafka的批量处理大小和消费线程数。

四、性能优化1.增加Kafka的副本数,提高消息队列的吞吐量。

2.调整Kafka的批量处理大小,减少网络传输次数。

3.优化数据库索引,提高数据检索速度。

4.使用并行处理技术,提高数据同步效率。

五、异常处理1.数据冲突:当主数据库和从数据库中的数据发生冲突时,可以根据业务规则进行合并或者覆盖。

2.网络异常:当网络异常导致同步失败时,可以设置重试机制,确保数据不会丢失。

3.数据丢失:当同步过程中数据丢失时,可以采用日志回溯的方式进行恢复。

数据库主从同步配置MySql数据双向同步配置的方法

数据库主从同步配置MySql数据双向同步配置的方法

数据库主从同步配置MySql数据双向同步配置的方法配置MySQL数据库的主从同步可以实现数据的双向同步,以下是一种常见的配置方法:1. 确保两台MySQL服务器之间能够互相访问,比如在操作系统级别上配置好网络和防火墙规则。

2. 在主服务器上,编辑MySQL配置文件(f或my.ini),找到并修改以下几个参数:```server-id = 1 #设置服务器唯一ID,主服务器设为1,从服务器设为不同的值log_bin = mysql-bin #开启二进制日志记录功能binlog_format = row #设置二进制日志的格式为行级格式```3. 在主服务器上重启MySQL服务,使配置生效。

4. 在主服务器上创建一个专门用于主从同步的账号,并授予对应的权限。

比如创建一个账号名为replication的账号,并为其授予REPLICATION SLAVE权限:```sqlCREATE USER 'replication'@'从服务器IP' IDENTIFIED BY '密码';GRANT REPLICATION SLAVE ON *.* TO 'replication'@'从服务器IP';FLUSH PRIVILEGES;```5. 在从服务器上,编辑MySQL配置文件(f或my.ini),找到并修改以下几个参数:```server-id = 2 #设置服务器唯一ID,主服务器设为1,从服务器设为不同的值 log_bin = mysql-bin #开启二进制日志记录功能binlog_format = row #设置二进制日志的格式为行级格式```6. 在从服务器上重启MySQL服务,使配置生效。

7. 在从服务器上执行以下命令,配置主从关系:```sqlCHANGE MASTER TOMASTER_HOST ='主服务器IP',MASTER_PORT = 主服务器端口号,MASTER_USER ='replication',MASTER_PASSWORD ='密码',MASTER_LOG_FILE ='主服务器当前二进制日志文件名',MASTER_LOG_POS = 主服务器当前二进制日志位置;```8. 在从服务器上启动从服务器的复制进程:```sqlSTART SLAVE;```9. 在主服务器上执行以下命令,查看主从同步状态:```sqlSHOW MASTER STATUS;```10. 在从服务器上执行以下命令,查看主从同步状态:```sqlSHOW SLAVE STATUS;```以上是一种常见的MySQL数据库主从同步配置方法,根据实际情况可能还需要进行其他配置和调优。

数据库主从复制实现数据实时同步的有效方法

数据库主从复制实现数据实时同步的有效方法

数据库主从复制实现数据实时同步的有效方法数据库主从复制是现代web应用架构中广泛使用的数据同步实现方法,它主要通过将一个数据库服务器(即“主服务器”)中的数据复制到其他服务器(即“从服务器”),从而实现数据在不同服务器之间的同步。

在本文中,我们将探讨一些有效的方法来实现数据库主从复制,并讨论它们的实际应用。

一、使用二进制日志(Binlog)二进制日志是MySQL中的一种记录数据修改操作的文件。

使用二进制日志可以使主数据库记录所有数据修改命令,并将这些命令发送给所有的从数据库。

从而,从数据库可以实时更新数据。

而且使用Binlog可以减少从服务器对主服务器的轮询请求,降低网络传输数据量和服务器压力。

但是,在使用Binlog时需注意数据冲突问题。

因为Binlog只记录命令序列,并不知道执行命令时所用的数据状态。

所以在主数据库执行UPDATE和DELETE操作之前必须持有排它锁,以防止其他客户机的数据修改,但是这会降低数据库性能,因为其他客户端不能并发地修改数据。

二、使用GTIDGTID(全局事务标识符)是MySQL 5.6及以后版本新引入的特性。

GTID的主要优点是避免使用二进制日志时数据冲突问题。

GTID可以标识主数据库中的每个事务以及在哪个从数据库应该运行该事务。

相比较二进制日志,GTID会更可靠,提高数据复制的准确性。

例如,在MySQL 5.7中使用GTID模式,当执行UPDATE语句时,主服务器会生成一个与UPDATE命令相关的GTID,并将它发送到从服务器。

当从服务器接收到它时,它可以使用该GTID来执行UPDATE命令,而不用担心数据冲突。

三、使用并行复制在数据库主从复制中,从服务器必须等待主服务器完成每个操作,才能开始请求下一个操作。

但是,数据库主从复制可以使用多个线程(并行执行)来加快复制速度,并且可以在不妨碍复制的同时不影响主数据库的性能。

并行复制适用于多CPU和多磁盘的服务器,可以大大提高数据库同步时间。

Mysql基于binlog方式进行数据同步常见问题解决方案汇总

Mysql基于binlog方式进行数据同步常见问题解决方案汇总

Mysql基于binlog⽅式进⾏数据同步常见问题解决⽅案汇总Mysql基于binlog⽅式进⾏数据同步常见问题解决⽅案汇总0、前置信息0.1、集群信息服务器连接信息:192.168.91.131(master)192.168.91.132(slave1)192.168.91.133(slave2)使⽤ssh⽅式访问服务器:ssh root@192.168.91.*输⼊对应密码访问0.2、从库数据导⼊在192.168.91.131命令⾏窗⼝下直接执⾏数据库表数据导⼊:mysqldump --default-character-set=utf8mb4 --host=192.168.91.131 -uroot -p123456 --opt --set-gtid-purged=OFF 从库需要导⼊的表名 | mysql --host=从库IP地址 --port=3306 -uroot -p123456 --default-character-set=utf8mb4 -C 从库需要导⼊的表名说明:使⽤此⽅式进⾏数据导⼊时,保证⽬标数据库中数据库表与源数据库中数据表⼀致,同时,⽬标数据库中数据表保证为空表0.3 、从库设置同步过滤规则---- 从库设置同步过滤规则(在f中设置,对应k8s在配置字典中配置) ----replicate_wild_do_table =要同步的数据库名.%replicate_wild_ignore_table =要忽略的数据库名.%1、数据同步(binlog⽅式)主、从库使⽤binlog⽅式同步数据,操作步骤:1.1、主库执⾏命令mysql> show master status;获取主库的binlog⽂件和当前位置,即查询结果的 File、Position 字段,例如:File字段值为 binlog.XXXXXXXX,Position 字段值为 YYYYYYYY1.2、从库执⾏命令mysql> show slave status;mysql> stop slave;mysql> reset slave;mysql> CHANGE MASTER TO MASTER_HOST = '192.168.91.131', MASTER_USER = 'repl',MASTER_PASSWORD = '123456', MASTER_PORT = 3306, MASTER_LOG_FILE='binlog.XXXXXXXX',MASTER_LOG_POS=YYYYYYYY;mysql> start slave;mysql> show slave status;2、常见问题汇总及解决2.1、主、从库数据表字符集不⼀致2.1.1、报错信息Last_SQL_Errno: 1677Last_SQL_Error: Column1of table'XXX' cannot be converted from type 'varchar(150(bytes))'to type 'varchar(110(bytes))'2.1.2、解决⽅案1> 主、从库查看数据表的字符集信息mysql> show create table 表名;2> 从库执⾏如下命令mysql> stop slave;mysql>alter table table_name convert to character set主库数据表字符集;mysql> start slave;mysql> show slave status;2.2、主库删除从库不存在数据2.2.1、报错信息Last_Errno: 1032Last_SQL_Error: Could not execute Delete_rows event on table XXX; Can't find record in 'XXX',Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND;2.2.2、解决⽅案1> 在从库执⾏如下命令:mysql> show slave status;找到Exec_Master_Log_Pos的值,例如:XXXX;Last_Error信息中的end_log_pos的值,例如:YYYYYY2> 在主库使⽤⾃带的mysqlbinlog查看删除信息:cd /usr/binmysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS --start-position=XXXX --stop-position=YYYYYY /var/lib/mysql/binlog.000001说明:主库mysqlbinlog所在⽂件夹位置,可以使⽤如下命令查找:3> 找到删除语句之后,在从库插⼊删除数据,例如:insert into test values(1, 'jack');4> 在从库执⾏如下命令mysql> start slave;mysql> show slave status;插⼊数据时,如果遇到索引冲突的问题,可参考如下操作:mysql插⼊数据时,出现Duplicate entry 'XXX'for key'XXX'的问题:可以使⽤replace into,replace into是insert into的增强版:(1) 如果插⼊的数据不重复,执⾏的是insert into操作,影响1条记录(2) 如果插⼊的数据重复,执⾏的是update操作,影响2条记录:先删除旧的数据,再插⼊新的数据。

利用MySQL实现数据的实时同步和采集

利用MySQL实现数据的实时同步和采集

利用MySQL实现数据的实时同步和采集在现代信息时代,数据成为了一种珍贵的资源。

无论是企业还是个人,数据都扮演着重要的角色。

而数据的实时同步和采集则成为了保证数据有效性和实时性的重要手段。

MySQL作为一个开源的关系型数据库管理系统,在数据同步和采集方面具有一定的优势。

本文将讨论如何利用MySQL实现数据的实时同步和采集,并探讨其中的一些技术细节。

一、概述数据的实时同步和采集是指将源数据的变化实时地同步到目标数据源中,并且能够及时采集新增数据。

这个过程涉及到数据的提取、转换和加载等环节。

MySQL作为一种功能强大的数据库管理系统,在提供了数据同步和采集的功能和技术支持。

下面将从几个方面来介绍MySQL在数据同步和采集方面的应用。

二、MySQL的数据同步MySQL的数据同步主要通过复制(replication)的方式来实现。

通过建立主从复制的关系,将主数据库中的数据变更实时地同步到从数据库中。

MySQL的复制主要分为以下几个步骤:1. 配置主服务器:在主服务器中开启二进制日志(binlog),配置好需要同步的数据库和表。

2. 配置从服务器:在从服务器中配置复制信息,指定主服务器的IP地址、用户名和密码,并指定需要同步的数据库和表。

3. 启动复制:在从服务器上启动复制进程,通过连接主服务器的binlog,不断获取主服务器上的数据变更。

通过上述步骤,就可以实现MySQL的数据同步。

当主服务器中的数据发生变化时,从服务器将会获取到这些变化,并进行相应的同步操作。

这样,数据在两个数据库之间实现了实时同步。

三、MySQL的数据采集除了数据同步,MySQL也提供了数据采集的功能。

数据采集的过程主要分为以下几个步骤:1. 配置采集源:首先需要指定采集数据的源头。

源头可以是从其他数据库复制过来的数据,也可以是其他外部数据源。

需要根据具体的情况来选择。

2. 数据抽取:在配置好采集源之后,需要通过SQL语句来进行数据抽取。

mysql主从同步原理及错误解决

mysql主从同步原理及错误解决

mysql主从同步原理及错误解决MySQL主从复制是一种常见的数据库备份和灾难恢复机制。

它允许将一个MySQL数据库(主服务器)的更改复制到一个或多个备份数据库(从服务器)上。

主从复制的原理是主服务器将更改记录到二进制日志(bin-log),从服务器通过读取主服务器的二进制日志并应用这些更改来保持与主服务器的同步。

主从同步的原理可以分为以下几个步骤:1. 主服务器将更改记录到二进制日志(bin-log):当在主服务器上进行了增、删、改等修改操作时,主服务器将生成一条对应的二进制日志记录,并将其写入到二进制日志文件中。

2.从服务器连接到主服务器:从服务器与主服务器建立连接,并请求从指定位置开始读取二进制日志。

3.主服务器发送二进制日志给从服务器:主服务器将从请求的位置开始的二进制日志传送给从服务器。

4. 从服务器将二进制日志写入到中继日志(relay-log):从服务器将接收到的二进制日志写入到中继日志文件中。

5.从服务器读取中继日志并应用更改:从服务器读取中继日志中的更改,并将其应用到从服务器的数据库中,以实现与主服务器的同步。

6.从服务器发送确认信息给主服务器:从服务器将应用成功的二进制日志位置信息发送给主服务器,用于下次同步时继续读取。

除了主从同步的原理,还有一些常见的错误可能会影响主从同步的正确运行。

以下是几种常见的错误及其解决方法:1.主从服务器时间不同步:主从服务器的时间差异会导致二进制日志的生成顺序错误,进而导致主从同步错误。

解决方法是确保主从服务器时间一致,可以使用NTP等工具进行时间同步。

2.主服务器宕机或网络故障:当主服务器宕机或网络故障时,从服务器无法继续从主服务器获取二进制日志,导致主从同步中断。

解决方法是在主服务器出现故障后,将一个从服务器提升为主服务器,然后重新配置其他从服务器与新的主服务器建立连接。

3.数据库表结构改变:如果在主服务器上修改了表结构,而从服务器没有同步相应的修改,就会导致主从同步错误。

MySQL常见问题及解决方法

MySQL常见问题及解决方法

MySQL常见问题及解决方法导语:MySQL是一种广泛使用的开源关系型数据库管理系统,作为互联网应用和企业级系统的常用数据库,它能够存储和管理大规模的数据。

然而,就像使用任何其他软件一样,MySQL也可能遇到一些常见的问题。

本文将探讨一些常见的MySQL问题,并提供相应的解决方法。

问题一:数据库连接问题在使用MySQL时,有时会遇到无法连接到数据库的问题。

这可能是由于配置错误、网络问题或数据库服务器故障引起的。

解决方法:1. 检查MySQL服务器的状态。

在命令行中输入"mysqladmin -uroot -p status",以查看MySQL服务器是否正在运行。

2. 检查MySQL服务器的配置文件f。

确保MySQL服务器的端口号和主机名与应用程序中的连接设置相匹配。

3. 检查网络连接。

确保应用程序所在的计算机可以与MySQL服务器建立网络连接。

4. 检查MySQL服务器的防火墙设置。

确保MySQL的端口未被防火墙屏蔽。

问题二:数据丢失或损坏在使用MySQL时,重要的数据丢失或损坏可能是灾难性的。

这可能是由于硬件故障、软件错误、意外删除或错误操作引起的。

解决方法:1. 定期备份数据库。

使用MySQL提供的备份工具,定期备份数据库以保护数据免受损坏和丢失的风险。

2. 使用事务和回滚。

通过在操作中使用事务和回滚功能,可以避免由于意外错误而引起的数据损坏。

3. 检查硬件和存储设备。

确保硬件和存储设备的可靠性,避免硬件故障导致的数据损坏。

4. 使用数据恢复工具。

如果数据已经丢失或损坏,可以尝试使用MySQL提供的数据恢复工具来尝试恢复数据。

问题三:查询性能问题在处理大量数据时,可能会遇到查询性能下降的问题。

这可能导致应用程序响应变慢和用户体验下降。

解决方法:1. 使用索引。

为数据库中的表添加适当的索引,以加快查询速度。

2. 优化查询语句。

检查应用程序中的查询语句,确保它们是有效的,并使用MySQL提供的查询优化工具来优化查询语句。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运行于主数据库
mysql> show master status;
+------------------+----------+--------------+------------------+
| File
| Position | Binlog_Do_DB | Binlog_Ignore_DB |
Connect_Retry: 30 Master_Log_File: mysql-bin.000009 Read_Master_Log_Pos: 204261590 Relay_Log_File: mail-relay-bin.000221
Relay_Log_Pos: 15149444 Relay_Master_Log_File: mysql-bin.000009
change master to master_log_file='mysql-bin.000004',master_log_pos=106;
概述
在做 web 应用系统中,如果数据库出现了性能瓶颈,而你又是使用的 MySQL 数据库,那么就可以考虑采用数据库 集群的方式来实现查询负载了。因为一般来讲一个系统中数据库的查询操作比更新操作要多的多,因此通过多台查询 服务器将数据库的查询分担到不同的查询数据库从而提高数据库的查询效率。
Slave_IO_Running: Yes Slave_SQL_Running: Yes
ReplicatDB: information_schema,mysql,test
红色的部分,分别表示的是 Master_Log_File 和 Read_Master_Log_Pos,即主数据库服务器上的日志文件和要读取 的主数据库服务器上的日志的位置,通常这个 Read_Master_Log_Pos 是和主数据库服务器上的 Position 是一致的(同步 以后),如果从数据库服务器还没有同步完毕,那么这个值通常比主数据库服务器上的要小。
先在主查看:
[root@drbd1 mysql]# mysql -u root –p >>>输入密码进入 mysql
mysql> show master status;
+------------------+----------+--------------+------------------+
| File
MySQL 数据库支持数据库的主从复制功能,使用主数据库进行数据的插入、删除与更新操作,而从数据库则专门用 来进行数据库查询,从数据库还可以建立多台,通过负载均衡来实现查询,这样就可以将更新操作与查询操作分离到 不同的数据库上,从而提高查询的效率,降低系统的负载。
三、启动与监控
1、监控主数据库服务器
1 row in set (0.00 sec)
其中 File 是表示日志记录的文件,而 Position 则是表示当前日志在文件中的位置,这个也是从数据库服务器上执
行复制操作必须的标识,后面的两个字段分别表示要记录的数据库名称和不需要记录的数据库名称,我们也可以在配
置文件中进行配置。
2、监控从数据库服务器
replication slave ——MySQL 数据库中表示复制的权限名称 repuser ——从数据库服务器登陆到主数据库服务器时用到的用户名称 host >192.168.2.95 ——从数据库 IP 地址
1
fyxadmin ——登陆密码 如果上述权限设置后,无法同步,可将其改为
mysql> grant select,insert,update,delete,replication slave on *.* to fyx@'192.168.2.95' identified by 'fyxadmin'; 配置完上述步骤后,就可以启动主数据库了。
二、从数据库配置
修改配置文件 [root@drbd1 mysql]# vi /etc/f skip-name-resolve //选项可以禁用 dns 解析,但是,这样不能在 mysql 的授权表中使用主机名了,只能使用 IP skip-grant-tables //如果你在 f 中的有添加“skip-grant-tables”,那么任何的帐号用任何的密码(当然也包括 空)都可以登录到 mysql 数据库了 max_connections=1000 // mysql 的最大连接数默认是 100, 这个数值对于并发连接很多的数据库应用是远远不够 的, 当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些 max_connect_errors=200 //出现某台 host 连接错误次数等于 max_connect_errors(默认 10) ,主机'host_name' 再次尝试时被屏蔽。
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |
106 |
|
|
+------------------+----------+--------------+------------------+
Mysql 同步配置
前言:测试成功为 redhat AS5 64 位系统平台,Mysql sever 为 mysql-5.1.42-linux-x86_64-glibc23 版本
一、主数据库服务器配置
修改 mysql 的配置文件(对于 windows 就是 MySQL 安装目录下的 my.ini 文件,对于 linux 通常就是 /etc/f 文 件),在配置文件中加入(或修改)
运行于从数据库 mysql> show slave status\G; mysql> show slave status\G; *************************** 1. row ***************************
3
Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.85 Master_User: synbj Master_Port: 3306
[root@drbd1 mysql]# vi /etc/f skip-name-resolve //选项可以禁用 dns 解析,但是,这样不能在 mysql 的授权表中使用主机名了,只能使用 IP skip-grant-tables //如果你在 f 中的有添加“skip-grant-tables”,那么任何的帐号用任何的密码(当然也包括 空)都可以登录到 mysql 数据库了 max_connections=1000 // mysql 的最大连接数默认是 100, 这个数值对于并发连接很多的数据库应用是远远不够 的, 当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些 max_connect_errors=200 //出现某台 host 连接错误次数等于 max_connect_errors(默认 10) ,主机'host_name' 再次尝试时被屏蔽。
注创建数据库并整理:
create database Lottery CHARACTER SET utf8 COLLATE utf8_general_ci //创建数据库并设置为 UFT8 格式
给主数据库授予一个可以进行复制的用户
[root@drbd1 mysql]# mysql -u root –p mysql> grant replication slave on *.* to fyx@'192.168.2.95' identified by 'fyxadmin' ; Query OK, 0 rows affected (0.00 sec)
| Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |
106 |
|
|
+------------------+----------+--------------+------------------+
server-id=2 log-bin=mysql-bin --在从服务器上启动日志记录,不是必须,但是官方建议 master-host=主机 --主数据库服务器的 IP 地址 master-user=用户名 --执行复制的用户名称,就是 grant 的用户,即 fyx master-password=密码 --复制用户的密码,就是 grant 的用户密码,即 fyxadmin master-port=端口 --主数据库服务器的端口,默认是 3306 master-connect-retry = 60 --与主服务器失去连接时,从服务器重新尝试连接的时间间隔。 replicate-do-db=dbname --需要同步的数据库
1 row in set (0.00 sec)
2
然后在从设置
mysql> slave stop; mysql>reset slave; mysql> change master to master_host='192.168.2.34',master_port=3306,master_user='fyx',master_password='fyxadmin',master_log_file='mysqlbin.000004',master_log_pos=106; Query OK, 0 rows affected (0.03 sec) mysql> slave start; Query OK, 0 rows affected (0.01 sec)
相关文档
最新文档