Rumah pangkalan data tutorial mysql 两mysql数据库同步实现异步备份方法_MySQL

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

Jun 01, 2016 pm 01:44 PM
kata laluan Penyegerakan pangkalan data pelayan nama pengguna

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
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah yang Windows 11 meminta anda memasukkan nama pengguna dan kata laluan pentadbir untuk meneruskan? Bagaimana untuk menyelesaikan masalah yang Windows 11 meminta anda memasukkan nama pengguna dan kata laluan pentadbir untuk meneruskan? Apr 11, 2024 am 09:10 AM

Apabila menggunakan sistem Win11, kadangkala anda akan menemui gesaan yang memerlukan anda memasukkan nama pengguna dan kata laluan pentadbir Artikel ini akan membincangkan cara menangani situasi ini. Kaedah 1: 1. Klik [Logo Windows], kemudian tekan [Shift+Restart] untuk memasuki mod selamat atau masukkan mod selamat dengan cara ini: klik menu Mula dan pilih Tetapan. Pilih "Kemas kini dan Keselamatan"; pilih "Mulakan Semula Sekarang" dalam "Pemulihan" selepas memulakan semula dan memasukkan pilihan, pilih - Selesaikan Masalah - Pilihan Lanjutan - Tetapan Permulaan -&mdash

Bagaimana untuk menetapkan kata laluan WiFi penghala menggunakan telefon bimbit (menggunakan telefon bimbit sebagai alat) Bagaimana untuk menetapkan kata laluan WiFi penghala menggunakan telefon bimbit (menggunakan telefon bimbit sebagai alat) Apr 24, 2024 pm 06:04 PM

Rangkaian tanpa wayar telah menjadi bahagian yang amat diperlukan dalam kehidupan orang ramai dalam dunia digital hari ini. Walau bagaimanapun, melindungi keselamatan rangkaian wayarles peribadi adalah amat penting. Menetapkan kata laluan yang kukuh adalah kunci untuk memastikan rangkaian WiFi anda tidak boleh digodam oleh orang lain. Untuk memastikan keselamatan rangkaian anda, artikel ini akan memperkenalkan secara terperinci cara menggunakan telefon mudah alih anda untuk menukar kata laluan WiFi penghala. 1. Buka halaman pengurusan penghala - Buka halaman pengurusan penghala dalam penyemak imbas mudah alih dan masukkan alamat IP lalai penghala. 2. Masukkan nama pengguna dan kata laluan pentadbir - Untuk mendapatkan akses, masukkan nama pengguna dan kata laluan pentadbir yang betul dalam halaman log masuk. 3. Navigasi ke halaman tetapan wayarles - cari dan klik untuk memasuki halaman tetapan wayarles, dalam halaman pengurusan penghala. 4. Cari Wi semasa

Tutorial menukar kata laluan wifi pada telefon bimbit (operasi mudah) Tutorial menukar kata laluan wifi pada telefon bimbit (operasi mudah) Apr 26, 2024 pm 06:25 PM

Rangkaian tanpa wayar telah menjadi bahagian yang amat diperlukan dalam kehidupan kita dengan perkembangan pesat Internet. Untuk melindungi maklumat peribadi dan keselamatan rangkaian, adalah sangat penting untuk menukar kata laluan wifi anda dengan kerap, walau bagaimanapun. Untuk membantu anda melindungi keselamatan rangkaian rumah anda dengan lebih baik, artikel ini akan memperkenalkan anda kepada tutorial terperinci tentang cara menggunakan telefon mudah alih anda untuk menukar kata laluan WiFi anda. 1. Fahami kepentingan kata laluan wifi adalah barisan pertahanan pertama untuk melindungi maklumat peribadi dan keselamatan rangkaian Dalam era Internet, memahami kepentingannya boleh lebih memahami mengapa anda perlu menukar kata laluan anda dengan kerap. 2. Sahkan bahawa telefon disambungkan ke wifi Pertama, pastikan telefon disambungkan ke rangkaian wifi yang kata laluannya anda ingin tukar sebelum menukar kata laluan wifi. 3. Buka menu tetapan telefon dan masukkan menu tetapan telefon.

Kata laluan salah, berhati-hati dengan amaran BitLocker Kata laluan salah, berhati-hati dengan amaran BitLocker Mar 26, 2024 am 09:41 AM

Artikel ini akan meneroka cara untuk menyelesaikan masalah kata laluan yang salah, terutamanya keperluan untuk berhati-hati apabila berurusan dengan amaran BitLocker. Amaran ini dicetuskan apabila kata laluan yang salah dimasukkan beberapa kali dalam BitLocker untuk membuka kunci pemacu. Biasanya, amaran ini berlaku kerana sistem mempunyai dasar yang mengehadkan percubaan log masuk yang salah (biasanya tiga percubaan log masuk dibenarkan). Dalam kes ini, pengguna akan menerima mesej amaran yang sesuai. Mesej amaran yang lengkap adalah seperti berikut: Kata laluan yang dimasukkan adalah salah Sila ambil perhatian bahawa memasukkan kata laluan yang salah secara berterusan akan menyebabkan akaun dikunci Ini adalah untuk melindungi keselamatan data anda. Jika anda perlu membuka kunci akaun anda, anda perlu menggunakan kunci pemulihan BitLocker. Kata laluan tidak betul, berhati-hati dengan amaran BitLocker yang anda terima apabila anda log masuk ke komputer anda

Bagaimana untuk mengkonfigurasi Dnsmasq sebagai pelayan geganti DHCP Bagaimana untuk mengkonfigurasi Dnsmasq sebagai pelayan geganti DHCP Mar 21, 2024 am 08:50 AM

Peranan geganti DHCP adalah untuk memajukan paket DHCP yang diterima ke pelayan DHCP lain pada rangkaian, walaupun kedua-dua pelayan berada pada subnet yang berbeza. Dengan menggunakan geganti DHCP, anda boleh menggunakan pelayan DHCP berpusat di pusat rangkaian dan menggunakannya untuk menetapkan alamat IP secara dinamik kepada semua subnet/VLAN rangkaian. Dnsmasq ialah pelayan protokol DNS dan DHCP yang biasa digunakan yang boleh dikonfigurasikan sebagai pelayan geganti DHCP untuk membantu mengurus konfigurasi hos dinamik dalam rangkaian. Dalam artikel ini, kami akan menunjukkan kepada anda cara mengkonfigurasi dnsmasq sebagai pelayan geganti DHCP. Topik Kandungan: Topologi Rangkaian Mengkonfigurasi Alamat IP Statik pada Geganti DHCP D pada Pelayan DHCP Berpusat

Panduan Amalan Terbaik untuk Membina Pelayan Proksi IP dengan PHP Panduan Amalan Terbaik untuk Membina Pelayan Proksi IP dengan PHP Mar 11, 2024 am 08:36 AM

Dalam penghantaran data rangkaian, pelayan proksi IP memainkan peranan penting, membantu pengguna menyembunyikan alamat IP sebenar mereka, melindungi privasi dan meningkatkan kelajuan akses. Dalam artikel ini, kami akan memperkenalkan panduan amalan terbaik tentang cara membina pelayan proksi IP dengan PHP dan menyediakan contoh kod khusus. Apakah pelayan proksi IP? Pelayan proksi IP ialah pelayan perantaraan yang terletak di antara pengguna dan pelayan sasaran Ia bertindak sebagai stesen pemindahan antara pengguna dan pelayan sasaran, memajukan permintaan dan respons pengguna. Dengan menggunakan pelayan proksi IP

Apakah yang perlu saya lakukan jika kata laluan Win10 saya tidak memenuhi keperluan dasar kata laluan Apa yang perlu dilakukan jika kata laluan komputer saya tidak memenuhi keperluan dasar? Apakah yang perlu saya lakukan jika kata laluan Win10 saya tidak memenuhi keperluan dasar kata laluan Apa yang perlu dilakukan jika kata laluan komputer saya tidak memenuhi keperluan dasar? Jun 25, 2024 pm 04:59 PM

Dalam sistem Windows 10, dasar kata laluan ialah satu set peraturan keselamatan untuk memastikan kata laluan yang ditetapkan oleh pengguna memenuhi keperluan kekuatan dan kerumitan tertentu Jika sistem menggesa bahawa kata laluan anda tidak memenuhi keperluan dasar kata laluan, ini biasanya bermakna anda kata laluan tidak memenuhi keperluan yang ditetapkan oleh piawaian Microsoft untuk kerumitan, panjang atau jenis aksara, jadi bagaimana ini boleh dielakkan? Pengguna boleh terus mencari dasar kata laluan di bawah dasar komputer tempatan untuk melaksanakan operasi. Mari lihat di bawah. Penyelesaian yang tidak mematuhi spesifikasi dasar kata laluan: Tukar panjang kata laluan: Mengikut keperluan dasar kata laluan, kami boleh cuba meningkatkan panjang kata laluan, seperti menukar kata laluan 6 digit asal kepada 8 digit atau lebih lama. Tambah aksara khas: Dasar kata laluan selalunya memerlukan kemasukan aksara khas seperti @, #, $, dsb. saya

Bagaimana untuk memasuki sistem jika anda terlupa kata laluan kuasa komputer win10 anda_Apa yang perlu dilakukan jika anda terlupa kata laluan kuasa hidup komputer win10 anda Bagaimana untuk memasuki sistem jika anda terlupa kata laluan kuasa komputer win10 anda_Apa yang perlu dilakukan jika anda terlupa kata laluan kuasa hidup komputer win10 anda Mar 28, 2024 pm 02:35 PM

1. Muat turun dan pasang alat pemasangan semula sistem satu klik Xiaobai pada komputer lain, masukkan cakera USB kosong untuk mencipta cakera but USB Untuk tutorial tertentu, sila rujuk: 2. Masukkan cakera but USB ke dalam komputer yang perlu ditukar kata laluan untuk memulakan semula, dan tekan kekunci pintas Mula Secara amnya, kekunci pintas permulaan adalah salah satu daripada F12, F8, F9, F10 dan ESC. Kemudian antara muka permulaan muncul, pilih pilihan cakera U dan tekan Enter untuk masuk. 3. Pilih [1] untuk memulakan win10x64PE dan tekan Enter untuk mengesahkan. 4. Pilih alat pengubahsuaian kata laluan pada desktop dan klik dua kali untuk membukanya. 5. Kemudian senarai nama akaun muncul, pilih akaun yang perlu menukar kata laluan dan bukanya. 6. Klik perintah Tukar Kata Laluan di bawah, masukkan kata laluan baharu dua kali, dan kemudian klik OK untuk menyimpan perubahan. 7. Akhir sekali, cabut pemacu kilat USB dan mulakan semula komputer Kemudian ia akan menjadi normal.

See all articles