數據庫備份之熱備,冷備,溫備

備份和恢復
備份類型:

完全備份,部分備份

完全備份:整個數據集

1 部分備份:只備份數據子集,如部分庫或表

完全備份、增量備份、差異備份

2增量備份:僅備份最近一次完全備份或增量備份(如果存在增量)以來變化的數據,備份較快,還原複雜

3差異備份:僅備份最近一次完全備份以來變化的數據,備份較慢,還原簡單

注意:二進制日誌文件不應該與數據文件放在同一磁盤

備份和恢復
冷、溫、熱備份

冷備:讀寫操作均不可進行

溫備:讀操作可執行;但寫操作不可執行

熱備:讀寫操作均可執行

MyISAM:溫備,不支持熱備

InnoDB:都支持

物理和邏輯備份

物理備份:直接複製數據文件進行備份,與存儲引擎有關,佔用較多的空間,速度快

邏輯備份:從數據庫中“導出”數據另存而進行的備份,與存儲引擎無關,佔用空間少,速度慢,可能丟失精度

備份時需要考慮的因素
溫備的持鎖多久

備份產生的負載

備份過程的時長

恢復過程的時長

備份什麼
數據

二進制日誌、InnoDB的事務日誌

程序代碼(存儲過程、函數、觸發器、事件調度器)

服務器的配置文件

備份工具
cp, tar等複製歸檔工具:物理備份工具,適用所有存儲引擎;只支持冷備;完全和部分備份

LVM的快照:先加鎖,做快照後解鎖,幾乎熱備;藉助文件系統工具進行備份

mysqldump:邏輯備份工具,適用所有存儲引擎,溫備;支持完全或部分備份;對InnoDB存儲引擎支持熱備,結合binlog的增量備份

xtrabackup:由Percona提供支持對InnoDB做熱備(物理備份)的工具,支持完全備份、增量備份

MariaDB Backup: 從MariaDB 10.1.26開始集成,基於PerconaXtraBackup 2.3.8實現

mysqlbackup:熱備份, MySQL Enterprise Edition組件

mysqlhotcopy:PERL 語言實現,幾乎冷備,僅適用於MyISAM存儲引擎,使用LOCK TABLES、FLUSH TABLES和cp或scp來快速備份數據庫

冷備份
有侷限,需要停服務,影響生產,不建議使用。

把數據庫遷移到一個乾淨的主機兩臺主機的版本一樣。

步驟:

1 停乾淨主機的數據庫服務 systemctl stop mariadb

2 進出 /var/lib/mysql/ 打包所有的文件tar -Jcvf /data/mysql.bak.tar.xz /var/lib/mysql

3 拷貝打包的文件給另一臺乾淨主機

scp /data/mysql.bak.tar.xz 192.168.32.11:/data;爲確保兩邊配置文件相同應該拷貝配置文件。

4 在乾淨主機/var/lib/mysql/下解壓縮/data文件下的 mysql.bak.tar.xz文件。

5 注意解壓後文件屬性問題。

(注意chown -R mysql.mysql )

5 重啓服務 systemctl start mariadb

基於LVM的備份
步驟:
1 fdisk /dev/sda 創建分區 m、P、n、t、w

2 partprobe 同步

3 pvcreate /dev/sda6 創建物理卷

vgcreate vg_data /dev/sda6 在設備上創建卷組 卷組名爲vg_data

4 創建邏輯卷(這裏要創建兩個一個放數據,一個放日誌)

lvcreate -n mysqldata -L 2G vg_data 名字爲mysqldata 大小爲2G 在vg_data 上

lvcreate -n binlog -L 4G vg_data(同上)

5查看卷組信息 lvs

6 格式化文件系統

mkfs.xfs /dev/vg_data/mysqldata

mkfs.xfs /dev/vg_data/binlog

blkid

7 創建文件用於掛載

mkdir /vg_data/{binlog,mysqldata} -pv

8 掛載

mount /dev/vg_data/binlog /vg_data/binlog/

mount /dev/vg_data/mysqldata /vg_data/mysqldata/

9 修改配置文件

vim /etc/my.cnf

innodb_file_per_table

datadir=/vg_data/mysqldata

log_bin=/vg_data/binlog/mysql-bin

10 查看文件屬性 /vg_data/

ll /vg_data

chown -R mysql.mysql /vg_data

11 重啓服務

systemctl restar mariadb

12 導入新數據 mysql < hellodb

13 請求鎖定所有表

mysql -e ‘flush tables with read lock’

14 記錄二進制日誌文件及事件位置

mysql -e ‘show master logs’ > bin.log

cat bin.log

15創建快照 lvcreate -p r -s -n snap_mysql -L 1G /dev/vg_data/mysqldata

16釋放鎖 mysql -e ‘unlock tables’

17 掛載快照卷,執行數據備份(由於uuid相同)用這個方式掛載

mount -o nouuid,norecovery /dev/vg_data/snap_mysql /mnt

18 備份完成後,刪除快照卷

cp -av /mnt/* /data/

umount /mnt

lv

lvremove /dev/vg_data/snap_mysql

lvs

19 制定好策略,通過原卷備份二進制日誌

cd /vg_data/binlog/ 進入二進制文件日誌存放目錄

mysql -e ‘show binary logs’ 顯示日誌

cd /root

cat bin.log 記錄備份的編號記錄爲7697

mysqlbinlog --start-position-7697 mysql-bin.000001 > /root/logbin.sql

導出7697後的記錄爲mysql-bin.000001

20 導入數據 在這之前要關閉數據庫二進制數據庫日誌

show variables like ‘%log_bin’;

set aql_log_bin=off;

source /root/binlog.sql; 導入數據

開啓二進制日誌

set sql_log_bin=on;

備份和恢復
邏輯備份工具:mysqldump, mydumper, phpMyAdmin

Schema和數據存儲在一起、巨大的SQL語句、單個巨大的備份文件

mysqldump工具:客戶端命令,通過mysql協議連接至mysql服務器進行備份

mysqldump [OPTIONS] database [tables]

mysqldump [OPTIONS] –B DB1 [DB2 DB3…]

mysqldump [OPTIONS] –A [OPTIONS]

mysqldump

mysqldump hellodb 只顯示文本信息,如果要備份要從定向到一個文件中

mysqldump hellodb > /data/hellodb_bak.sql

mysqldump常見選項:
-A, --all-databases 備份所有數據庫,含create database

-B , --databases db_name… 指定備份的數據庫,包括create database語句

mysqldump -B hellodb > /data/bak_B.sql(這樣文件特別大,因爲是文本可以壓縮)所以有以下

mysqldump -B hellodb | gzip > /data/helldb_bak.sql.gz

-E, --events:備份相關的所有event scheduler

-R, --routines:備份所有存儲過程和自定義函數

–triggers:備份表相關觸發器,默認啓用,用–skip-triggers,不備份觸發器

–default-character-set=utf8 指定字符集

–master-data[=#]: 此選項須啓用二進制日誌

備份二進制日誌時記錄二進制日誌位置

1:所備份的數據之前加一條記錄爲CHANGE MASTER TO語句,非註釋,不指定#,默認爲1(涉及到主從複製)

mysqldump -A --master-data=1 > all.sql

有記錄備份的位置

2:記錄爲註釋的CHANGE MASTER

TO語句此選項會自動關閉–lock-tables功能,自動打開-x | --lock-all-tables功能(除非開啓–single-transaction)

mysqldump -A --master-data=2 > all.sql

註釋了備份的位置

備份和恢復
mysqldump常見選項:
-F, --flush-logs:備份前滾動日誌,鎖定表完成後,執行flush logs命令,生成新的二進制日誌文件,配合-A 或 -B 選項時,會導致刷新多次數據庫。建議在同一時刻執行轉儲和日誌刷新,可通過和–single-transaction或-x,–master-data 一起使用實現,此時只刷新一次日誌。

mysqldum -F -B hellodb > all.sql

mysql -e ‘show master logs’;

-d, --no-data 只備份表結構

-t, --no-create-info 只備份數據,不備份create table

-n,–no-create-db 不備份create database,可被-A或-B覆蓋

–flush-privileges 備份mysql或相關時需要使用 刷新權限

-f, --force 忽略SQL錯誤,繼續執行

–hex-blob 使用十六進制符號轉儲二進制列,當有包括BINARY,VARBINARY,BLOB,BIT的數據類型的列時使用,避免亂碼

-q, --quick 不緩存查詢,直接輸出,加快備份速度

分庫備份腳本(一個數據庫備份在一個獨立的文件中)在生成中要備份mysql數據庫中因爲這裏面放的是用戶賬號密碼還有一些其他的、、、
(1)mysql -e ‘show databases’ | grep -Ev ‘^Database|info|performanc’|while read dbname;do mysqldump -B dbnamegzip&gt;/data/dbname | gzip &gt; /data/{dbname}_bak’date +%F`.gz;done

(2)mysql -e ‘show databases’ | grep -Ev ‘^Database|info|performanc’ |sed -r ‘s@(.*)@mysqldump -B \1| gzip > /data/\1__bak’date +%F`.gz@’ |bash

(3)for db in ‘mysql -e ‘show databases’ | grep -Ev ‘^Database|info|performanc’’; do mysqldump -B dbgzip&gt;/data/db |gzip &gt; /data/{db}_bak’date +%F`.gz;done

MyISAM備份
支持溫備;不支持熱備,所以必須先鎖定要備份的庫,而後啓動備份操作

鎖定方法如下:

-x,–lock-all-tables:加全局讀鎖,鎖定所有庫的所有表,同時加–singletransaction或–lock-tables選項會關閉此選項功能。

注意:數據量大時,可能會導致長時間無法併發訪問數據庫。

-l,–lock-tables:對於需要備份的每個數據庫,在啓動備份之前分別鎖定其所有表,默認爲on,–skip-lock-tables選項可禁用,對備份MyISAM的多個庫,可能會造成數據不一致。

注:以上選項對InnoDB表一樣生效,實現溫備,但不推薦使用

生產環境實戰備份策略
InnoDB建議備份策略

mysqldump –uroot –A –F –E –R --single-transaction --master-data=1 --flush-privileges --triggers–default-character-set=utf8 --hex-blob>KaTeX parse error: Expected group after '_' at position 15: BACKUP/fullbak_̲BACKUP_TIME.sql

簡化:

InnoDB建議備份策略

mysqldump –uroot –A –F --single-transaction --master-data=1 --hex-blob>KaTeX parse error: Expected group after '_' at position 15: BACKUP/fullbak_̲BACKUP_TIME.sql

MyISAM建議備份策略

mysqldump –uroot –A –F –E –R –x --master-data=1 --flush-privileges --triggers --default-character-set=utf8 --hex-blob>KaTeX parse error: Expected group after '_' at position 15: BACKUP/fullbak_̲BACKUP_TIME.sql

簡化

mysqldump –uroot –A –F –x --master-data=1 --hex-blob>KaTeX parse error: Expected group after '_' at position 15: BACKUP/fullbak_̲BACKUP_TIME.sql

實驗:完全備份,並還原至最新狀態
1 準備

vim /etc/my.cnf

[mysqld]

log-bin=/data/binlog/mysql-bin

datadir=/var/lib/mysql

2 備份

mysqldump -A -F --single-transaction --master-data=2 | gzip > /data/all.sql.gz

繼續修改數據

3 模擬破壞

systemctl stop mariadb

rm -rf /var/lib/mysql/*

還原時禁止用戶訪問數據庫

iptables

4 還原到備份時狀態

systemctl start mariadb

gzip -d /data/all.sql.gz

mysql >set sql_log_bin=off;

source /data/all.sql;

5 還原到最新狀態

grep “CHANGE MASTER” /data/all.sql 查看position mysql-bin.000002 245

cd /data/binlog/

mysqlbin --start-position=245 mysql-bin.000002 > /data/incr.sql

mysqlbin mysql-bin.000003 >> /data/incr.sql

mysqlbin mysql-bin.000004 >> /data/incr.sql

mysql > set sql_log_bin=off;

source /data/incr.sql;

set sql_log_bin=on;

6 開放用戶訪問數據庫

實驗:恢復誤刪除的表
1 準備,二進制日誌功能啓用

2 完全備份

mysqldump -A -F --single-transaction --master-data=2 |gzip > /data/all.sql.gz

3 修改數據庫

4 刪除表10:00

drop table testlog 刪除表

5 修改數據庫10:10

6 flush tables with read lock

加全局鎖禁止用戶訪問用戶數

7 還原到備份時狀態

systemctl stop mariadb 停服務

rm -rf /var/lib/mysql/*

systemctl start mariadb

gzip -d /data/all.sql.gz

進入mysql

set sql_log_bin=off;

source /data/all.sql;

8 分析二進制日誌,找到drop table 指令

grep -i “change master” /data/all.sql 245 mysql-bin.000002

mysqlbinlog --start-position=245 mysql-bin.000002 > /data/incr.sql

vim /data/incr.sql

找到drop table 指令,註釋此指令

mysqlbinlog mysql-bin.000003 >> /data/incr.sql

mysqlbinlog mysql-bin.000004 >> /data/incr.sql

9 還原到最新狀態

進入mysql

set sql_log_bin=off;

source /data/incr.sql;

set sql_log_bin=on;

10 複查數據完整

11 開放用戶訪問

xtrabackup 備份
Xtrabackup:percona提供的mysql數據庫備份工具,惟一開源的能夠對innodb和xtradb數據庫進行熱備的工具。

特點:

備份還原過程快速、可靠

備份過程不會打斷正在執行的事務

能夠基於壓縮等功能節約磁盤空間和流量

自動實現備份檢驗

開源,免費

Xtrabackup2.2版之前包括4個可執行文件:

1 innobackupex: Perl 腳本

2 xtrabackup: C/C++ 編譯的二進制

3 xbcrypt: 加解密

4 xbstream: 支持併發寫的流文件格式

xtrabackup版本升級到2.4後,相比之前的2.1有了比較大的變化:innobackupex 功能全部集成到 xtrabackup 裏面,只有一個binary程序,另外爲了兼容考慮,innobackupex作爲 xtrabackup的軟鏈接,即xtrabackup現在支持非Innodb表備份,並且Innobackupex在下一版本中移除,建議通過xtrabackup替換innobackupex。
xtrabackup 是用來備份 InnoDB 表的,不能備份非 InnoDB 表,和 MySQLServer 沒有交互。

innobackupex 腳本用來備份非 InnoDB 表,同時會調用 xtrabackup 命令來備份 InnoDB 表,還會和 MySQL Server 發送命令進行交互,如加全局讀鎖(FTWRL)、獲取位點(SHOW SLAVE STATUS)等。即innobackupex是在xtrabackup 之上做了一層封裝實現的。

雖然目前一般不用 MyISAM 表,只是 MySQL 庫下的系統表是 MyISAM 的,因此備份基本都通過 innobackupex 命令進行。

Xtrabackup備份原理
備份開始時首先會開啓一個後臺檢測進程,實時檢測mysq redo的變化,一旦發現有新的日誌寫入,立刻將日誌記入後臺日誌文件xtrabackup_log中,之後複製innodb的數據文件一系統表空間文件ibdatax,複製結束後,將執行flush tables with readlock,然後複製.frm MYI MYD等文件,最後執行unlocktables,最終停止xtrabackup_log

Xtrabackup增量備份介紹
xtrabackup增量備份的原理是:

1)、首先完成一個完全備份,並記錄下此時檢查點LSN;

2)、然後增量備份時,比較表空間中每個頁的LSN是否大於上次備份的LSN,若是則備份該頁並記錄當前檢查點的LSN。

增量備份優點:

1)、數據庫太大沒有足夠的空間全量備份,增量備份能有效節省空間,並且效率高;

2)、支持熱備份,備份過程不鎖表(針對InnoDB而言),不阻塞數據庫的讀寫;

3)、每日備份只產生少量數據,也可採用遠程備份,節省本地空間;

4)、備份恢復基於文件操作,降低直接對數據庫操作風險;

5)、備份效率更高,恢復效率更高。

Xtrabackup用法
備份:innobackupex [option] BACKUP-ROOT-DIR

1 --user:該選項表示備份賬號

2 --password:該選項表示備份的密碼

3 --host:該選項表示備份數據庫的地址

4 --databases:該選項接受的參數爲數據庫名,如果要指定多個數據庫,彼此間需要以空格隔開;如:“xtra_test dba_test”,同時,在指定某數據庫時,也可以只指定其中的某張表。如:“mydatabase.mytable”。該選項對innodb引擎表無效,還是會備份所有innodb表

5 --defaults-file:該選項指定從哪個文件讀取MySQL配置,必須放在命令行第一個選項位置

6 --incremental:該選項表示創建一個增量備份,需要指定–incremental-basedir

7 --incremental-basedir:該選項指定爲前一次全備份或增量備份的目錄,與–incremental同時使用

8 --incremental-dir:該選項表示還原時增量備份的目錄

9 --include=name:指定表名,格式:databasename.tablename

Prepare:innobackupex --apply-log [option] BACKUP-DIR

選項說明:

1 --apply-log:一般情況下,在備份完成後,數據尚且不能用於恢復操作,因爲備份的數據中可能會包含尚未提交的事務或已經提交但尚未同步至數據文件中的事務。因此,此時數據文件仍處理不一致狀態。此選項作用是通過回滾未提交的事務及同步已經提交的事務至數據文件使數據文件處於一致性狀態

2 --use-memory:和–apply-log選項一起使用,當prepare 備份時,做crashrecovery分配的內存大小,單位字節,也可1MB,1M,1G,1GB等,推薦1G

3 --export:表示開啓可導出單獨的表之後再導入其他Mysql中

4 --redo-only:此選項在prepare base full backup,往其中合併增量備份時候使用,但不包括對最後一個增量備份的合併

Xtrabackup還原 將要還原的數據拷到數據庫目錄。
innobackupex --copy-back [選項] BACKUP-DIR

innobackupex --move-back [選項] [–defaults-group=GROUP-NAME]BACKUP-DIR

選項說明:

1–copy-back:做數據恢復時將備份數據文件拷貝到MySQL服務器的datadir

2–move-back:這個選項與–copy-back相似,唯一的區別是它不拷貝文件,而是移動文件到目的地。這個選項移除backup文件,用時候必須小心。使用場景:沒有足夠的磁盤空間同事保留數據文件和Backup副本。

還原注意事項:
1.datadir目錄必須爲空。除非指定innobackupex --force-non-emptydirectorires選項指定,否則–copy-backup選項不會覆蓋

2.在restore之前,必須shutdown MySQL實例,不能將一個運行中的實例restore到datadir目錄中

3.由於文件屬性會被保留,大部分情況下需要在啓動實例之前將文件的屬主改爲mysql,這些文件將屬於創建備份的用戶

chown -R mysql:mysql /data/mysql

以上需要在用戶調用innobackupex之前完成

–force-non-empty-directories:指定該參數時候,使得innobackupex –
copy-back或–move-back選項轉移文件到非空目錄,已存在的文件不會被覆
蓋。如果–copy-back和–move-back文件需要從備份目錄拷貝一個在
datadir已經存在的文件,會報錯失敗

備份生成的相關文件
使用innobakupex備份時,其會調用xtrabackup備份所有的InnoDB表,複製所有關於表結構定義的相關文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相關文件,同時還會備份觸發器和數據庫配置信息相關的文件。這些文件會被保存至一個以時間命名的目錄中,在備份時,innobackupex還會在備份目錄中創建如下文件:

(1)xtrabackup_info:innobackupex工具執行時的相關信息,包括版本,備份選項,備份時長,備份LSN(log sequence number日誌序列號),BINLOG的位置

(2)xtrabackup_checkpoints:備份類型(如完全或增量)、備份狀態(如是否已經爲prepared狀態)和LSN範圍信息,每個InnoDB頁(通常爲16k大小)都會包含一個日誌序列號LSN。LSN是整個數據庫系統的系統版本號,每個頁面相關的LSN能夠表明此頁面最近是如何發生改變的

(3)xtrabackup_binlog_info:MySQL服務器當前正在使用的二進制日誌文件及至備份這一刻爲止二進制日誌事件的位置,可利用實現基於binlog的恢復

(4)backup-my.cnf:備份命令用到的配置選項信息

(5)xtrabackup_logfile:備份生成的日誌文件

示例:舊版Xtrabackup完全備份及還原
1 在原主機innobackupex --user=root /backups

scp -r /backups/2018-02-23_11-55-57/目標主機:/data/

2 在目標主機

innobackupex --apply-log /data/2018-02-23_11-55-57/

systemctl stop mariadb

rm -rf /var/lib/mysql/*

innobackupex --copy-back /data/2018-02-23_11-55-57/

chown -R mysql.mysql /var/lib/mysql/

systemctl start mariadb

示例:新版Xtrabackup完全備份及還原
mkdir /backups 創建文件夾

1 在原主機做完全備份到/backups下

xtrabackup --backup --target-dir=/backups/

scp -r /backups/* 目標主機:/backups

2 在目標主機上

1)預準備:確保數據一致,提交完成的事務,回滾未完成的事務

xtrabackup --prepare --target-dir=/backups/

2)複製到數據庫目錄

注意:數據庫目錄必須爲空,MySQL服務不能啓動

xtrabackup --copy-back --target-dir=/backups/

3)還原屬性

chown -R mysql:mysql /var/lib/mysql

4)啓動服務

systemctl start mariadb

Xtrabackup安裝
下載安裝xtrabackup

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/6/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar

yum 安裝 yum install percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm -y

which xtrabackup 路徑

innobackupex -v 顯示版本

創建測試數據
mysql> create database test;

Query OK, 1 row affected (0.00 sec)

mysql> use test;

Database changed

mysql> create table T1 (name varchar(10) not null,sex varchar(10) not null);

Query OK, 0 rows affected (0.15 sec)

mysql> insert into T1 values(‘zhang’,‘man’);

Query OK, 1 row affected (0.01 sec)

mysql> insert into T1 values(‘zhan’,‘man’);

Query OK, 1 row affected (0.01 sec)

mysql> insert into T1 values(‘sun’,‘woman’);

Query OK, 1 row affected (0.00 sec)

新版Xtrabackup完全,增量備份及還原
1 備份過程
備份過程生成三個備份目錄

mkdir /backups

mkdir /backups/{base,inc1,inc2}

tree /backups/{base,inc1,inc2}

1)完全備份:xtrabackup --backup --target-dir=/backups/base

2)第一次修改數據

3)第一次增量備份

xtrabackup --backup --target-dir=/backups/inc1 --incrementalbasedir=/backups/base

4)第二次修改數據

5)第二次增量

xtrabackup --backup --target-dir=/backups/inc2 --incrementalbasedir=/backups/inc1

6)scp -r /backups/* 目標主機:/backups/

2還原過程
1)預準備完成備份,此選項–apply-log-only阻止回滾未提完成的事務

xtrabackup --prepare --apply-log-only --target-dir=/backups/base

2)合併第1次增量備份到完全備份,

xtrabackup --prepare --apply-log-only --target-dir=/backups/base --incremental-dir=/backups/inc1

3)合併第2次增量備份到完全備份:最後一次還原不需要加選項–apply-log-only

xtrabackup --prepare --target-dir=/backups/base --incremental-dir=/backups/inc2

4)複製到數據庫目錄,注意數據庫目錄必須爲空,MySQL服務不能啓動

xtrabackup --copy-back --target-dir=/data/backups/base

5)還原屬性:chown -R mysql:mysql /var/lib/mysql

6)啓動服務:systemctl start mariadb

Xtrabackup單表導出和導入
1 單表備份
innobackupex --include=‘hellodb.students’ /backups

2備份表結構
mysql -e ‘show create table hellodb.students’ > student.sql

3刪除表
mysql -e 'drop table hellodb.students‘

4 innobackupex --apply-log --export /backups/2018-02-23_15-03-23/

5 創建表

mysql>CREATE TABLE students (StuID int(10) unsigned NOT NULL AUTO_INCREMENT,Name varchar(50) NOT NULL,Age tinyint(3) unsigned NOT NULL,Gender enum(‘F’,‘M’) NOT NULL,ClassID tinyint(3) unsigned DEFAULT NULL,TeacherID int(10) unsigned DEFAULT NULL,PRIMARY KEY (StuID)) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8

6 刪除表空間

alter table students discard tablespace;

7 cp /backups/2018-02-23_15-03-23/hellodb/students.{cfg,exp,ibd}/var/lib/mysql/hellodb/

8 chown -R mysql.mysql /var/lib/mysql/hellodb/

9 mysql>alter table students import tablespace;

其他

mysql5.7主從複製,主主複製

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章