Maison base de données tutoriel mysql 两mysql数据库同步实现异步备份方法_MySQL

两mysql数据库同步实现异步备份方法_MySQL

Jun 01, 2016 pm 01:44 PM
密码 数据库同步 服务器 用户名

bitsCN.com

1.服务器状态
服务器A:192.168.1.1
服务器B:192.168.1.2

2.创建同步用户
主机域A:192.168.1.2  用户名A:sync_a  密码A:aaa
主机域B:192.168.1.1  用户名B:sync_b  密码B:bbb
至少分配以下权限grant replication slave

3.执行flush privileges

4.停止MySQL

5.配置my.cnf(my.ini)

服务器A 服务器B
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 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

server-id必须唯一
binlog-do-db和replicate-do-db表示需要同步的数据库教程
binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库
请不要加入以下命令,该命令并不会解决uid跳号的问题,恰恰相反以下两行命令才是导致uid跳号的罪魁祸首
auto_increment_increment = 2
auto_increment_offset = 1

6.重新启动MySQL

7.进入MySQL控制台

服务器A:
show master status G
flush tables with read lock;
服务器B:
show master status G
flush tables with read lock;

同时记录下两台服务器的File和Position,此处假设:

A: File: mysql-bin.000001
  Position: 001
B: File: mysql-bin.000002
  Position: 002

服务器A:
change master to
    -> master_host='192.168.1.2',
    -> master_user='sync_b',
    -> master_password='bbb',
    -> master_log_file='mysql-bin.000002',
    -> master_log_pos=002;
服务器B:
change master to
    -> master_host='192.168.1.1',
    -> master_user='sync_a',
    -> master_password='aaa',
    -> master_log_file='mysql-bin.000001',
    -> master_log_pos=001;

此处填写的数据完全相反

8.执行show processlist G查看是否同步成功

方法二

两台服务器
192.168.1.1(A)
192.168.1.2(B)
先保证这mysql的版本是一致的,参考http://dev.mysql.com/doc/refman/5.1/zh/replication.html#replication-implementation-details,否则复制中的异常情况很折腾人。


1.在两台mysql上创建用户,设置权限
A上添加:

#grant replication slave,replication client,reload,super on *.* to 'sync_user'@'192.168.1.2' identified by '123456' with grant option;//用于B访问

B上:

#grant replication slave,replication client,reload,super on *.* to 'sync_user'@'192.168.1.1' identified by '123456' with grant option;//用于A访问

执行  #flush privileges; 更新数据库使用户生效。

2.在/etc/my.cnf上进行相关配置

A B
server-id         = 1

master-host     =192.168.1.2

master-user     =sync_user

master-pass     =123456

master-port     =3306

master-connect-retry=60

replicate-do-db =db1

replicate-do-db =db2

replicate-ignore-db=mysql  server-id         = 2

master-host     =192.168.1.1

master-user     =sync_user

master-pass     =123456

master-port     =3306

master-connect-retry=60

replicate-do-db =db1

replicate-do-db =db2

replicate-ignore-db=mysql
 
  


注意

1.server_id必须为唯一.

2.如果想要同时同步多个库,添加多行replicate-do-db,每行指定一个数据库。不能使用replicate-do-db=db1,db2的形式

3.replicate-ignore-db:指定不进行同步的数据库。

保存后,重启mysql

#mysqladmin -u root -p shutdown

#mysqld_safe --user=mysql

3.把两台服务器上需要同步的数据库进行拷贝,保证这两台数据库初始状态一致。

4.进行双向同步


双向同步就是把单向同步反过来在做一遍,但一定要注意操作的顺序,这是成功的关键

step1.在A上mysql shell中执行

#show master status;


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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000054 |    35 |              |                  |

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

1 row in set (0.00 sec)

记录下 mysql-bin.000054,和35

step2.在B上执行:

#stop slave;//停止同步

#


CHANGE MASTER TO  MASTER_HOST='192.168.1.1', MASTER_PORT=3306, MASTER_USER='sync_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000054', MASTER_LOG_POS=35;

 

#start slave;//开始同步

step3,执行show slave statusG;如显示如下内容,表示同步设置成功。

Slave_IO_State: Waiting for master to send event

 

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

step4:上一步没有问题。则在B上继续执行show master status;


#show master status;


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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000005 |    6854 |              |                  |

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

1 row in set (0.00 sec)

step5:在A上执行


#stop slave;//停止同步

#


CHANGE MASTER TO  MASTER_HOST='192.168.1.2', MASTER_PORT=3306, MASTER_USER='sync_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=6854;

 


#start slave;//开始同步

 


step6:执行show slave statusG;如显示如下内容,表示同步设置成功。

 

Slave_IO_State: Waiting for master to send event

 

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如上述没有啥问题。到此双向同步设置完成。


方法三

一、准备服务器
由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
more.. | less.. | 本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.27,操作系统是RedHat Linux 9。
假设同步Master的主机名为:master(IP:192.168.1.123),Slave主机名为:slave(IP:192.168.1.124),2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/var/lib/mysql。
二、设置同步服务器
1、设置同步Master
修改 my.cnf 文件,在
# Replication Master Server (default)
# binary logging is required for replication
添加如下内容:
#log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=discuz
binlog-ignore-db=mysql
重启MySQL,创建一个MySQL帐号为同步专用
# /usr/local/mysql/bin/mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
如果想要在Slave上有权限执行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 语句的话,必须授予全局的 FILE 和 SELECT 权限:
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
mysql> FLUSH PRIVILEGES ;

2、设置同步Slave
修改my.cnf文件,添加
server-id = 2
master-host = 192.168.1.123
master-user = back
master-password = back
master-port = 3306
replicate-ignore-db=mysql
replicate-do-db=discuz

重启MySQL

3、启动同步
在主服务器master MySQL命令符下:
# /usr/local/mysql/bin/mysql -u root -p
mysql> show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| mysql-bin.000009 | 98 | discuz | mysql |
+------------------+----------+-------------------+------------------+

在从服务器master MySQL命令符下:
# /usr/local/mysql/bin/mysql -u root -p
mysql> slave stop;
mysql> change master to master_host='192.168.1.123', master_user='back', master_password='back', master_log_file='mysql-bin.000009', master_log_pos=98;
mysql> slave start;

用show slave statusG;看一下从服务器的同步情况
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步
往表里面写点数据测试一下看是否同步成功,如果不成功,绝对不是你的RP问题,再检查一下操作步骤!

4、设置双向同步

修改slave服务器的my.cnf,添加
log-bin=/var/log/mysql/updatelog
binlog-do-db=discuz
binlog-ignore-db=mysql

重启MySQL,创建一个MySQL帐号为同步专用
mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
mysql> FLUSH PRIVILEGES ;

修改master服务器的my.cnf,添加
master-host = 192.168.1.124
master-user = back
master-password = back
master-port = 3306
replicate-ignore-db=mysql
replicate-do-db=discuz

重启MySQL

在主服务器slave MySQL命令符下:
show master status;
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| mysql-bin.000013 | 98 | discuz | mysql |
+------------------+----------+-------------------+------------------+

在服务器A MySQL命令符下:
mysql> slave stop;
mysql> change master to master_host='192.168.1.124', master_user='back', master_password='back', master_log_file='mysql-bin.000013', master_log_pos=98;
mysql> slave start;

其实也就是A->B单向同步的反向操作!双向同步,就这么简单啦!


提示:如果修改了主服务器的配置,记得删除从服务器上的master.info文件。否则从服务器使用的还是老配置,可能会导致错误。
-----------------------------------------------------------------------------------
注意:关于要复制多个数据库时,binlog-do-db和replicate-do-db选项的设置,网上很多人说是用半角逗号分隔,经过测试,这样的说法是错误的,MySQL官方文档也明确指出,如果要备份多个数据库,只要重复设置相应选项就可以了。
比如:
binlog-do-db=a
binlog-do-db=b
replicate-do-db=a
replicate-do-db=b

bitsCN.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème selon lequel Windows 11 vous demande de saisir le nom d'utilisateur et le mot de passe de l'administrateur pour continuer ? Comment résoudre le problème selon lequel Windows 11 vous demande de saisir le nom d'utilisateur et le mot de passe de l'administrateur pour continuer ? Apr 11, 2024 am 09:10 AM

Lorsque vous utilisez le système Win11, vous rencontrerez parfois une invite vous demandant de saisir le nom d'utilisateur et le mot de passe de l'administrateur. Cet article explique comment gérer cette situation. Méthode 1 : 1. Cliquez sur [Logo Windows], puis appuyez sur [Maj+Redémarrer] pour passer en mode sans échec ou entrez en mode sans échec de cette façon : cliquez sur le menu Démarrer et sélectionnez Paramètres ; Sélectionnez « Mise à jour et sécurité » ; sélectionnez « Redémarrer maintenant » dans « Récupération » après avoir redémarré et saisi les options, sélectionnez - Dépannage - Options avancées - Paramètres de démarrage -&mdash.

Comment définir le mot de passe WiFi du routeur à l'aide d'un téléphone mobile (en utilisant le téléphone mobile comme outil) Comment définir le mot de passe WiFi du routeur à l'aide d'un téléphone mobile (en utilisant le téléphone mobile comme outil) Apr 24, 2024 pm 06:04 PM

Les réseaux sans fil sont devenus un élément indispensable de la vie des gens dans le monde numérique d'aujourd'hui. Il est toutefois particulièrement important de protéger la sécurité des réseaux sans fil personnels. Définir un mot de passe fort est essentiel pour garantir que votre réseau WiFi ne puisse pas être piraté par d'autres. Pour assurer la sécurité de votre réseau, cet article vous présentera en détail comment utiliser votre téléphone mobile pour modifier le mot de passe WiFi du routeur. 1. Ouvrez la page de gestion du routeur - Ouvrez la page de gestion du routeur dans le navigateur mobile et saisissez l'adresse IP par défaut du routeur. 2. Entrez le nom d'utilisateur et le mot de passe de l'administrateur - Pour y accéder, entrez le nom d'utilisateur et le mot de passe de l'administrateur corrects dans la page de connexion. 3. Accédez à la page des paramètres sans fil – recherchez et cliquez pour accéder à la page des paramètres sans fil, dans la page de gestion du routeur. 4. Trouvez le Wi-Fi actuel

Tutoriel pour changer le mot de passe wifi sur téléphone mobile (opération simple) Tutoriel pour changer le mot de passe wifi sur téléphone mobile (opération simple) Apr 26, 2024 pm 06:25 PM

Les réseaux sans fil sont devenus un élément indispensable de nos vies avec le développement rapide d'Internet. Afin de protéger les informations personnelles et la sécurité du réseau, il est cependant très important de changer régulièrement votre mot de passe wifi. Pour vous aider à mieux protéger la sécurité de votre réseau domestique, cet article vous présentera un tutoriel détaillé sur la façon d'utiliser votre téléphone mobile pour changer votre mot de passe WiFi. 1. Comprenez l'importance des mots de passe Wi-Fi. Les mots de passe Wi-Fi constituent la première ligne de défense pour protéger les informations personnelles et la sécurité du réseau. À l'ère d'Internet, comprendre son importance permet de mieux comprendre pourquoi vous devez changer régulièrement votre mot de passe. 2. Confirmez que le téléphone est connecté au wifi. Tout d'abord, assurez-vous que le téléphone est connecté au réseau wifi dont vous souhaitez modifier le mot de passe avant de modifier le mot de passe wifi. 3. Ouvrez le menu des paramètres du téléphone et accédez au menu des paramètres du téléphone.

Guide des meilleures pratiques pour créer des serveurs proxy IP avec PHP Guide des meilleures pratiques pour créer des serveurs proxy IP avec PHP Mar 11, 2024 am 08:36 AM

Dans la transmission de données sur réseau, les serveurs proxy IP jouent un rôle important, aidant les utilisateurs à masquer leurs véritables adresses IP, à protéger la confidentialité et à améliorer la vitesse d'accès. Dans cet article, nous présenterons le guide des meilleures pratiques sur la façon de créer un serveur proxy IP avec PHP et fournirons des exemples de code spécifiques. Qu'est-ce qu'un serveur proxy IP ? Un serveur proxy IP est un serveur intermédiaire situé entre l'utilisateur et le serveur cible. Il agit comme une station de transfert entre l'utilisateur et le serveur cible, transmettant les demandes et les réponses de l'utilisateur. En utilisant un serveur proxy IP

Mot de passe incorrect, méfiez-vous de l'avertissement BitLocker Mot de passe incorrect, méfiez-vous de l'avertissement BitLocker Mar 26, 2024 am 09:41 AM

Cet article explique comment résoudre le problème des mots de passe erronés, en particulier la nécessité d'être prudent lors du traitement des avertissements BitLocker. Cet avertissement est déclenché lorsqu'un mot de passe incorrect est saisi plusieurs fois dans BitLocker pour déverrouiller le lecteur. Habituellement, cet avertissement se produit car le système dispose d'une politique qui limite les tentatives de connexion incorrectes (généralement trois tentatives de connexion sont autorisées). Dans ce cas, l'utilisateur recevra un message d'avertissement approprié. Le message d'avertissement complet est le suivant : Le mot de passe saisi est incorrect. Veuillez noter que la saisie continue de mots de passe incorrects entraînera le verrouillage du compte afin de protéger la sécurité de vos données. Si vous devez déverrouiller votre compte, vous devrez utiliser une clé de récupération BitLocker. Le mot de passe est incorrect, méfiez-vous de l'avertissement BitLocker que vous recevez lorsque vous vous connectez à votre ordinateur

Comment configurer Dnsmasq comme serveur relais DHCP Comment configurer Dnsmasq comme serveur relais DHCP Mar 21, 2024 am 08:50 AM

Le rôle d'un relais DHCP est de transmettre les paquets DHCP reçus vers un autre serveur DHCP du réseau, même si les deux serveurs se trouvent sur des sous-réseaux différents. En utilisant un relais DHCP, vous pouvez déployer un serveur DHCP centralisé dans le centre réseau et l'utiliser pour attribuer dynamiquement des adresses IP à tous les sous-réseaux/VLAN du réseau. Dnsmasq est un serveur de protocole DNS et DHCP couramment utilisé qui peut être configuré en tant que serveur relais DHCP pour faciliter la gestion des configurations d'hôtes dynamiques sur le réseau. Dans cet article, nous allons vous montrer comment configurer Dnsmasq comme serveur relais DHCP. Sujets de contenu : Topologie du réseau Configuration d'adresses IP statiques sur un relais DHCP D sur un serveur DHCP centralisé

Quel est le nom du logiciel qui permet de débloquer les mots de passe de tous les wifi (logiciel de téléphonie mobile recommandé pour obtenir les mots de passe du wifi connecté en un clic) Quel est le nom du logiciel qui permet de débloquer les mots de passe de tous les wifi (logiciel de téléphonie mobile recommandé pour obtenir les mots de passe du wifi connecté en un clic) Apr 02, 2024 pm 06:46 PM

Les réseaux sans fil font désormais partie intégrante de la vie des gens dans la société moderne. Ou nous devons afficher les mots de passe enregistrés dans la liste WiFi, mais parfois nous oublions le mot de passe WiFi. Un logiciel mobile a vu le jour pour résoudre ce problème. Pour vous permettre de maîtriser facilement cet outil magique, cet article présentera un logiciel qui peut vous aider à déverrouiller rapidement tous les mots de passe WiFi. 1. Puissant outil de déverrouillage de mot de passe WiFi - explorez le monde merveilleux du déverrouillage de mot de passe WiFi 2. Conception d'interface simple et facile à utiliser - méthodes de fonctionnement pratiques et rapides 3. Prend en charge plusieurs appareils - répond aux besoins de différents appareils 4. Mise à jour automatique - conservez toujours le dernier mot de passe WiFi 5. Connexion WiFi haut débit - répondez facilement aux besoins de connexion simultanée de plusieurs appareils

Comment accéder au système si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10_Que faire si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10 Comment accéder au système si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10_Que faire si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10 Mar 28, 2024 pm 02:35 PM

1. Téléchargez et installez l'outil de réinstallation du système en un clic de Xiaobai sur un autre ordinateur, insérez un disque USB vide pour créer un disque de démarrage USB. Pour des didacticiels spécifiques, veuillez vous référer à : 2. Insérez le disque de démarrage USB dans l'ordinateur à modifier. le mot de passe pour redémarrer et appuyez sur la touche de raccourci Démarrer. Généralement, la touche de raccourci de démarrage est l'une des touches F12, F8, F9, F10 et ESC. Ensuite, l'interface de démarrage apparaît, sélectionnez l'option du disque USB et appuyez sur Entrée pour entrer. 3. Sélectionnez [1] pour démarrer win10x64PE et appuyez sur Entrée pour confirmer. 4. Sélectionnez l'outil de modification de mot de passe sur le bureau et double-cliquez pour l'ouvrir. 5. Ensuite, une liste de noms de comptes apparaît, sélectionnez le compte dont vous devez modifier le mot de passe et ouvrez-le. 6. Cliquez sur la commande Modifier le mot de passe ci-dessous, saisissez deux fois le nouveau mot de passe, puis cliquez sur OK pour enregistrer les modifications. 7. Enfin, débranchez la clé USB et redémarrez l'ordinateur. Tout sera alors normal.

See all articles