搜尋
首頁資料庫mysql教程MYSQL 的MASTER到MASTER的主主循环同步_MySQL

    以前抽空做的MYSQL 的主主同步。
不过心理做好准备,对性能会有一定的影响!
把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST
1、环境描述。
   主机:192.168.0.231(A)
   主机:192.168.0.232(B)
   MYSQL 版本为5.1.21
2、授权用户。
A:
mysql> grant replication slave,file on *.* to 'repl1'@'192.168.0.232' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
B:
mysql> grant replication slave,file on *.* to 'repl2'@'192.168.0.231' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
然后都停止MYSQL 服务器。

3、配置文件。
在两个机器上的my.cnf里面都开启二进制日志 。
A:
user = mysql
log-bin=mysql-bin
server-id       = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

B:
user = mysql
log-bin=mysql-bin
server-id       = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2
至于这些参数的说明具体看手册。
红色的部分非常重要,如果一个MASTER 挂掉的话,另外一个马上接管。
紫红色的部分指的是服务器频繁的刷新日志。这个保证了在其中一台挂掉的话,日志刷新到另外一台。从而保证了数据的同步 。
4、重新启动MYSQL服务器。
在A和B上执行相同的步骤
[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe &
[1] 4264
[root@localhost ~]# 071213 14:53:20 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
/usr/local/mysql/bin/mysqld_safe: line 366: [: -eq: unary operator expected
071213 14:53:20 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

5、进入MYSQL的SHELL。
A:
mysql> flush tables with read lock/G
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000007
        Position: 528
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

B:
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000004
        Position: 595
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
然后备份自己的数据,保持两个机器的数据一致。
方法很多。完了后看下一步。
6、在各自机器上执行CHANGE MASTER TO命令。
A:
mysql> change master to
    -> master_host='192.168.0.232',
    -> master_user='repl2',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000004',
    -> master_log_pos=595;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)


B:
mysql> change master to
    -> master_host='192.168.0.231',
    -> master_user='repl1',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000007',
    -> master_log_pos=528;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

7、查看各自机器上的IO进程和 SLAVE进程是否都开启。
A:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 2
   User: repl
   Host: 192.168.0.232:54475
     db: NULL
Command: Binlog Dump
   Time: 1590
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 2. row ***************************
     Id: 3
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1350
  State: Waiting for master to send event
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1149
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 4. row ***************************
     Id: 5
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
4 rows in set (0.00 sec)

B:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 2130
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 2
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1223
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 4. row ***************************
     Id: 5
   User: repl2
   Host: 192.168.0.231:50718
     db: NULL
Command: Binlog Dump
   Time: 1398
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
4 rows in set (0.00 sec)

如果红色部分没有出现,检查DATA目录下的错误文件。

8、释放掉各自的锁,然后进行插数据测试。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

插入之前两个机器表的对比:
A:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t22            |
+----------------+
B:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t22            |
+----------------+
从A机器上进行插入
A:
mysql> create table t11_replicas
    -> (id int not null auto_increment primary key,
    -> str varchar(255) not null) engine myisam;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t11_replicas(str) values
    -> ('This is a master to master test table');
Query OK, 1 row affected (0.01 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t11_replicas   |
| t22            |
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
+----+---------------------------------------+
1 row in set (0.00 sec)


现在来看B机器:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t11_replicas   |
| t22            |
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
+----+---------------------------------------+
1 row in set (0.00 sec)

现在反过来从B机器上插入数据:
B:

mysql> insert into t11_replicas(str) values('This is a test 2');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
|  2 | This is a test 2                      |
+----+---------------------------------------+
2 rows in set (0.00 sec)
我们来看A
A:
mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
|  2 | This is a test 2                      |
+----+---------------------------------------+
2 rows in set (0.00 sec)

好了。现在两个表互相为MASTER。

多MASTER自增字段冲突的问题。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
主机的域名和主机的ip地址两者之间的关系是什么主机的域名和主机的ip地址两者之间的关系是什么Jan 14, 2021 pm 06:02 PM

主机的域名和主机的ip地址两者之间的关系是:一个IP地址对应多个域名。IP地址用数字化形式来对计算机网络中的主机进行网络标识,域名用字符化形式来对计算机网络中的主机进行网络标识。在Internet中,一个域名之内能够对应一个IP地址,但是一个IP地址可以被多个域名所对应。

联想 YOGA Portal 迷你主机官宣 7 月 27 日 ChinaJoy 发布,内置 350W 电源联想 YOGA Portal 迷你主机官宣 7 月 27 日 ChinaJoy 发布,内置 350W 电源Jul 23, 2024 pm 01:47 PM

本站7月23日消息,曝光已久的联想YOGAPortal高性能台式电脑现确认将于7月27日在上海ChinaJoy正式发布,号称是为AI专业创作而生的迷你主机。是性能高手,也是AI创作能手3D数字人,AI虚拟背景根据本站家友@豫P在上海提供的现场图,这款小主机体积仅3.7L,整体采用阳极氧化铝材质,搭载了英特尔酷睿i7-14700处理器,配备32GBDDR5内存及1TB固态硬盘。YOGAPortal既是主机,又是AI创作一体机,高性能主机与算法优化摄像头结合,形成一体化解决方案。只需站在摄像头前,即

微星展示 MEG Vision X AI 电脑主机:正面大屏可 AI 聊天,有望配 RTX 5090 显卡微星展示 MEG Vision X AI 电脑主机:正面大屏可 AI 聊天,有望配 RTX 5090 显卡Jun 09, 2024 am 11:15 AM

本站6月5日消息,微星参加2024台北国际电脑展,展示了一款名为MEGVisionXAI的新旗舰游戏电脑。这款游戏主机是现有Vision系列的延伸,采用了非常吸睛的环绕玻璃设计,内部组件清晰可见。而最吸引人的地方在于该主机正面配备了一块超大尺寸的触控屏幕,微星工作人员介绍称可以同步微星的独家AI应用程序,进一步增强各项AI功能。本站附上相关图片如下:微星目前并未解释更多细节,从分享的图片中可以看到屏幕上运行本地AI聊天机器人,用户可以和其互动,要求其完成AI任务,定位本地存储的文档等。以上图源:

Java中的文件包含漏洞及其影响Java中的文件包含漏洞及其影响Aug 08, 2023 am 10:30 AM

Java是一种常用的编程语言,用于开发各种应用程序。然而,就像其他编程语言一样,Java也存在安全漏洞和风险。其中一个常见的漏洞是文件包含漏洞(FileInclusionVulnerability),本文将探讨文件包含漏洞的原理、影响以及如何防范这种漏洞。文件包含漏洞是指在程序中通过动态引入或包含其他文件的方式,但却没有对引入的文件做充分的验证和防护,从

数据稀缺对模型训练的影响问题数据稀缺对模型训练的影响问题Oct 08, 2023 pm 06:17 PM

数据稀缺对模型训练的影响问题,需要具体代码示例在机器学习和人工智能领域,数据是训练模型的核心要素之一。然而,现实中我们经常面临的一个问题是数据稀缺。数据稀缺指的是训练数据的量不足或标注数据的缺乏,这种情况下会对模型训练产生一定的影响。数据稀缺的问题主要体现在以下几个方面:过拟合:当训练数据量不够时,模型很容易出现过拟合的现象。过拟合是指模型过度适应训练数据,

mysql主机名称是什么mysql主机名称是什么Jul 20, 2023 am 11:37 AM

mysql主机名称是指用于标识和访问mysql数据库服务器的名称或IP地址,在搭建和维护mysql服务器时,为了能够远程访问服务器上的数据库,用户需要知道mysql服务器的主机名称,并确保服务器已经正确配置和防火墙设置,使用正确的连接字符串可以在编程语言中连接和访问mysql服务器。

酷冷至尊 Sneaker X 鞋子造型主机国行发售:英特尔 / AMD 双版本,29999 元酷冷至尊 Sneaker X 鞋子造型主机国行发售:英特尔 / AMD 双版本,29999 元Feb 15, 2024 am 08:21 AM

本站2月14日消息,酷冷至尊此前展示了一款SneakerX鞋子造型电脑主机,造型模仿了运动鞋的外观,该机的国行售价现已出炉。这是一款红白配色的运动鞋PC主机,配备了mini-ITX主板、850WSFX金牌全模组电源、360一体式水冷,尺寸为650x306x348mm。本站发现,该机的国行版可选AMD和英特尔两个版本:AMD版本搭载锐龙97950X3D处理器+RX7900XTX显卡,配有64GBDDR56000MHz内存和4TBPCIe4.0SSD,以及Wi-Fi6E+蓝牙5.2+有线网口。英特尔

矿卡对游戏有什么具体的影响?矿卡对游戏有什么具体的影响?Jan 03, 2024 am 09:05 AM

为了图便宜可能有些用户会考虑入手矿卡,这些卡毕竟是顶级的显卡,但是也有部分游戏玩家很担心矿卡打游戏有什么影响,下面就看看具体的介绍吧。矿卡打游戏有什么影响:1、矿卡打游戏没法保证稳定性,因为矿卡的寿命很短很可能玩玩就废了。2、矿卡基本上等于原版的阉割版,由于长期的损耗,各方面性能可能都弱了。3、这样用户在玩游戏的时候可能就不能将游戏的效果全部展示了。4、而且显卡的电子元件都会提前的老化,更何况打游戏也很消耗显卡,因此等于更大程度上的来将其榨干,因此对游戏的影响是很大的。5、总的来说,使用矿卡打游

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具