Mysql服务器的主辅数据同步

Mysql服务器的主辅数据同步

例题:将A服务器作为主服务器(Master),B1和B2为辅服务器(Slave),

怎么来将主服务器的数据同步到辅服务器呢,下面我们来看。

Master:

修改配置文件:/etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf

[mysqld]

log-bin=binlog

log-bin-index=binlog.index

sync_binlog=0

server_id = 1

重启mysql:  www.bitsCN.com

[root@localhost ~]# /etc/init.d/mysqld restart

停止 MySQL: [确定]

启动 MySQL: [确定]

[root@localhost ~]#

Slave1:

修改配置文件:/etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf

[mysqld]

server_id = 2

relay_log = /var/lib/mysql/mysql-relay-bin

relay_log_index=/var/lib/mysql/mysql-relay-bin.index

重启mysql:

[root@localhost ~]# /etc/init.d/mysqld restart

停止 MySQL: [确定]

启动 MySQL: [确定]

[root@localhost ~]#

Slave2:

修改配置文件:/etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf

[mysqld]

server_id = 3

relay_log = /var/lib/mysql/mysql-relay-bin

relay_log_index=/var/lib/mysql/mysql-relay-bin.index

重启mysql:

[root@localhost ~]# /etc/init.d/mysqld restart

停止 MySQL: [确定]  www.bitsCN.com

启动 MySQL: [确定]

[root@localhost ~]#

Master:

[root@localhost ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 2

Server version: 5.0.77-log Source distribution

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql> GRANT replication slave ON *.* TO 'ab'@'%' identified by '123';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

Slave1:

[root@localhost ~]# cd /var/lib/mysql/

[root@localhost mysql]# ls

ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock test

[root@localhost mysql]# rm -rf *

[root@localhost mysql]# ls

[root@localhost mysql]# /etc/init.d/mysqld restart

Master:

[root@localhost ~]# mysqldump -A -x > /tmp/full.sql

[root@localhost ~]# scp /tmp/full.sql root@192.168.18.117:/tmp/

The authenticity of host '192.168.18.117 (192.168.18.117)' can't be established.

RSA key fingerprint is 1f:ce:39:33:61:f5:7d:f8:0b:89:c7:d8:06:46:79:1f.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.18.117' (RSA) to the list of known hosts.

root@192.168.18.117's password:

full.sql 100% 1039MB 4.8MB/s 03:35

[root@localhost ~]#

Slave1:

[root@localhost mysql]# mysql < /tmp/full.sql

Master:

mysql> flush tables with read lock;

mysql> show master status;

+---------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| binlog.000003 | 365 | | |

+---------------+----------+--------------+------------------+

1 row in set (0.03 sec)

mysql> unlock tables;

Query OK, 0 rows affected (0.03 sec)

Slave1:

mysql> change master to master_host='192.168.18.107', master_port=3306, master_user='ab', master_password='123', master_log_file='binlog.000003',master_log_pos=365;

Query OK, 0 rows affected (0.06 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> show slave status /G

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Slave1:

[root@localhost ~]# mysqldump -A -x > /tmp/mysql.sql

[root@localhost ~]# scp /tmp/mysql.sql root@192.168.18.127:/tmp/

The authenticity of host '192.168.18.127 (192.168.18.127)' can't be established.

RSA key fingerprint is f7:a5:9e:2f:86:57:a5:17:f4:ad:2b:3a:a8:55:0f:76.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.18.127' (RSA) to the list of known hosts.

root@192.168.18.127's password:

mysql.sql 100% 1039MB 20.8MB/s 00:50

[root@localhost mysql]#

Slave2:

[root@localhost mysql]# mysql < /tmp/mysql.sql

Master:

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 |

+---------------+----------+--------------+------------------+

| binlog.000003 | 365 | | |

+---------------+----------+--------------+------------------+

1 row in set (0.00 sec)

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

Slave2:

mysql> change master to master_host='192.168.18.107', master_port=3306, master_user='ab', master_password='123', master_log_file='binlog.000003',master_log_pos=365;

Query OK, 0 rows affected (0.05 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

测试:

mysql> show slave status /G

在出结果的数据中,以下语句为yes成功

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

时间: 2024-09-16 17:33:32

Mysql服务器的主辅数据同步的相关文章

MySQL级联复制中的数据同步(第二篇)

今天解决了两个蛮有意思的MySQL问题,简单分享出来. 首先是昨天说的级联复制的情况,因为架构做了调整,我们要删除其中的一个中继节点(新加坡节点),而直接使用北京节点去连接北美的节点. 更多的信息可以参考. MySQL级联复制中的数据同步(r11笔记第20天) 大体的架构方式如下: 如此一来,为了避免重建从库,而且没有GTID的情况下,我们可以统一规划一下偏移量,平滑迁移. 实现后的架构图如下: 看起来还是比较简单,但是偏移量真是一个比较琐碎细致的活儿.在此也感谢我的同事程振,我们一起讨论了实现

mysql数据库数据同步/主从复制的配置方法

如果有多台mysql数据库服务器需要需要做数据同步,或者读写分离的时候.就需要做一个数据库的主从复制,操作起来也比较简单. 如下: 主服务器x.x.x.233 从服务器x.x.x.234 首先需要在主数据库配置一下my.cnf 开启binlog增加serverid server-id                       = 1 log-bin                        = bin-log 重启服务后生效 登陆数据库 1 #mysql -uroot -p 创建一个用户台

MySQL超时参数以及相关数据集成、DataX数据同步案例分享

一.背景 MySQL系统变量提供关于服务器的一些配置和能力信息,大部分变量可在mysqld服务进程启动时设置,部分变量可在mysqld服务进程运行时设置.合理的系统变量设值范围,是保障MySQL稳定提供服务的重要因素.本文主要描述MySQL数据库的超时timeout相关的一些系统变量,部分参数同程序应用中常见到的CommunicationsException: Communications link failure异常息息相关. 本文也结合数据同步的场景,对使用DataX3进行MySQL数据同步

mysql 5.5中的半同步复制

先来看下MYSQL异步复制的概念:   异步复制:MySQL本身支持单向的.异步的复制.异步复制意味着在把数据从一台机器拷贝到另一台机器时有一个延时 – 最重要的是这意味着当应用系统的事务提交已经确认时数据并不能在同一时刻拷贝/应用到从机.通常这个延时是由网络带宽.资源可用性和系统负载决定的.然而,使用正确的组件并且调优,复制能做到接近瞬时完成.      当主库有更新的时候,主库会把更新操作的SQL写入二进制日志(Bin log),并维护一个二进制日志文件的索引,以便于日志文件轮回(Rotat

国内外数据同步

问题描述 各位大哥好!公司要弄一个系统,国内外客户群不同,功能和界面等差异很大,基本上感觉就是两个不同的系统,现在想把国外的数据同步到国内来只是其中部分的数据是共享的.考虑到访问速度等问题,会在国内和国外各架设一台服务器,请问这个东西如何架设好一些,其中的数据同步,比如数据库,图片等如何实现同步,需要哪些技术!如何搞啊,拜求! 解决方案 解决方案二:vpnwebserviceftp解决方案三:问题相当高深解决方案四:如何搞啊,拜求!我感觉这问题问得很搞笑!至少我就没能理解下面的问题:1:数据是以

Mysql主主同步-配置数据同步

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://navyaijm.blog.51cto.com/4647068/809411 Mysql主主同步数据   一.环境 192.168.1.1  MysqlA 192.168.1.2    MysqlB 二,安装配置 1.安装mysql省略,MysqlA和MysqlB版本保持一致就可以了! 2.配置mysql 1)在两台机器上给对方授权 MysqlA GRANT REPLICATIO

W&amp;#8204;indows系统mysql服务器主从数据同步备份

windows 2003系统下mysql主从同步备份步骤 A:主服务器 IP地址:192.168.1.124 B:从服务器 IP地址:192.168.1.125   前提:设置同步之前请把保持两个数据库的数据一样!   对A服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:  代码如下 复制代码 server-id=1 log-bin=E:mailmysqldata   server-id:为主服务器A的ID值 log-bin:二进制变更日值   重启A

MYSQL的master/slave数据同步配置的例子

我的测试环境.基本上数据是瞬间同步,希望对大家有帮助 redhat 9.0 mysql3.23.57 mysql数据同步备份 A服务器: 192.168.1.2 主服务器master B服务器: 192.168.1.3 副服务器slave A服务器设置 #mysql –u root –p mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY '1234'; mysql>\exit 上面是Master开放一个账号backup密码1

主从同步-mysql主从数据同步报error 2003

问题描述 mysql主从数据同步报error 2003 两台服务器,内网地址可以ping通,从任何一个都可以登入另一个数据库, 但是同步的时候,一直报error 2003 的问题,而且这个同步账号是可以在从服务商登入到主服务的,求数据库大神解答,急求大神指点