Pembelajaran yang disyorkan: tutorial video mysql
Gunakan xtarbackup untuk menyegerakkan data, kemudian tetapkan master dan slave berdasarkan GTID.
Gunakan xtarbackup untuk penyediaan awal master dan slave kerana xtarbackup membuat sandaran dan memulihkan data dengan sangat cepat, terutamanya sesuai untuk jumlah data Ia mempunyai sandaran pangkalan data yang besar, dan pemasangannya sangat mudah, dan penggunaannya juga sangat mudah.... (Bala, bala, saya tidak boleh mengada-ada).
Pilih versi khusus mengikut situasi khusus anda. Hanya ikuti beberapa langkah ini untuk memasangnya. Bukankah ia sangat mudah...
# rpm -Uvh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-3.noarch.rpm # yum list | grep percona # yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL # rpm -Uvh ftp://rpmfind.net/linux/epel/6/x86_64/libev-4.03-3.el6.x86_64.rpm # yum install percona-xtrabackup –y
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /data/backupMysql/
(1), sandaran ke setempat
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/>/data/mysql.tar # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | gzip >/data/mysql.tar.gz
(2), sandaran ke jauh
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | ssh root@192.168.1.7 \ "cat - >/data/mysql.tar # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh root@192.168.1.7 \ "gzip >/data/mysql.tar.gz
(3), kaedah penyahmampatan
# 未经过压缩的文件解压 tar xvf mysql.tar -C /data # 压缩过的文件解压 tar zxvf mysql.tar.gz -C /data
(1), sandaran ke setempat
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/>/data/mysql.xbstream # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/ >/data/mysql_compress.xbstream
(2), sandaran perlu dilakukan dari jauh
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/| ssh root@192.168.1.7 "xbstream -x -C /backup/stream" # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/ | ssh root@192.168.1.7 "xbstream -x -C /backup/stream"
(3), kaedah penyahmampatan
#### 未压缩的 xbstream -x < mysql.xbstream -C /data #### 压缩过的 # 1、先解压xbstream xbstream -x < mysql_compress.xbstream -C /data # 2、再解压qp压缩格式 for bf in `find . -iname "*\.qp"`; do qpress -d $bf $(dirname $bf) && rm $bf; done 注:如果xtrabackup版本大于2.1.4,可以直接通过以下方式解压第二步。 innobackupex --decompress /data
Mula-mula nyahmampat pakej termampat sandaran asal ke direktori, dan kemudian laksanakan pernyataan berikut untuk memulihkan.
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /var/lib/mysql/backup/
Nota: Anda boleh menggunakan alat skrin belah semasa sandaran, penyahmampatan dan pemulihan saya suka menggunakan skrin.
GTID = source_id:transaction_id source_id: digunakan untuk mengenal pasti pelayan asal, iaitu server_uuid unik pelayan mysql Memandangkan GTID akan diluluskan kepada hamba, ia juga boleh digunakan Difahami sebagai ID sumber.
transaction_id: Ia ialah nombor jujukan transaksi yang telah diserahkan pada pelayan semasa Ia biasanya merupakan jujukan meningkat sendiri bermula dari 1. Satu nilai sepadan dengan satu transaksi.
Contoh: 3E11FA47-71CA-11E1-9E33-C80AA9429562:23 Rentetan pertama ialah server_uuid pelayan, iaitu, 3E11FA47-71CA-11E1-9E33-C80AA29429 berikut 🎜>
2.3 Prinsip GTID 1 Apabila transaksi dilaksanakan dan diserahkan di bahagian perpustakaan utama, GTID dijana dan direkodkan dalam binlog bersama-sama. 2. Selepas binlog dipindahkan ke hamba dan disimpan dalam relaylog hamba, baca nilai GTID dan tetapkan pembolehubah gtid_next, yang memberitahu hamba nilai GTID seterusnya untuk dilaksanakan. 3. Benang sql memperoleh GTID daripada log geganti, dan kemudian membandingkan binlog pada bahagian hamba untuk melihat sama ada GTID wujud. 4. Jika terdapat rekod, ini bermakna transaksi GTID telah dilaksanakan, dan hamba akan mengabaikannya. 5. Jika tiada rekod, hamba akan melaksanakan transaksi GTID dan merekodkan GTID ke binlognya sendiri Sebelum membaca dan melaksanakan transaksi, ia akan terlebih dahulu menyemak bahawa sesi lain memegang GTID untuk memastikannya ia tidak dilaksanakan berulang kali. 6. Semasa proses penghuraian, ia akan dinilai sama ada terdapat kunci utama. Jika tidak, gunakan indeks sekunder Jika tidak, gunakan semua imbasan. 2.4 Kelebihan GTIDKonfigurasi utama adalah seperti berikut:
[mysqld] #GTID: server_id=135 #服务器id gtid_mode=on #开启gtid模式 enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持 #binlog log_bin=master-binlog log-slave-updates=1 binlog_format=row #强烈建议,其他格式可能造成数据不一致 #relay log skip_slave_start=1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh root@192.168.1.7 \ "gzip >/data/mysql.tar.gz
tar zxvf /data/mysql.tar.gz -C /data/baskup
[mysqld] #GTID: gtid_mode=on enforce_gtid_consistency=on server_id=143 #binlog log-bin=slave-binlog log-slave-updates=1 binlog_format=row #强烈建议,其他格式可能造成数据不一致 #relay log skip_slave_start=1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /data/backup
more /data/backup/2018-02-08_15-03-18/xtrabackup_binlog_info
(1), beri kuasa pada tuan
grant replication slave on *.* to slaveuser@'192.168.1.7' identified by "c2xhdmV1c2Vy";
(2), konfigurasikan pada hamba
stop slave; SET GLOBAL gtid_purged="c5b5ffe7-ce66-11e7-9a19-00163e00013d:1-515758"; CHANGE MASTER TO MASTER_HOST='192.168.1.6',MASTER_PORT=3306,MASTER_USER='slaveuser',MASTER_PASSWORD='c2xhdmV1c2Vy',MASTER_AUTO_POSITION=1; start slave;
推荐学习:mysql视频教程
Atas ialah kandungan terperinci Ringkasan dan susunan MySQL berdasarkan pembinaan tuan-hamba GTID. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!