pxc-全備和恢復

全備份命令html

sudo mysqldump -usunx -p'mysqladmin' -P6612 -h192.168.1.203 -A -B  --skip-add-locks --skip-lock-tables  -F |gzip >/data/backup/all_$(date +%F).sql.gz

mysqldump命令選項詳解:
-P:指定mysql服務端口
-h:指定鏈接mysql的ip
-A:備份全部的庫表
-B:增長建立數據庫和鏈接數據庫的語句
-F:開始導出以前刷新bin-log日誌文件
--skip-add-locks:不用添加鎖
--skip-lock-tables:不用鎖表備份mysql

pxc-全備和恢復

擴展:sql

--add-locks Add locks around INSERT statements.(Defaults to on; use --skip-add-locks to disable.)
在每一個表導出以前增長LOCK TABLES而且以後UNLOCK TABLE(爲了使得更快地插入到MySQL)。默認開啓。數據庫

-f, --force Continue even if we get an SQL error.
在導出過程當中忽略出現的SQL錯誤
-x, --lock-all-tables
提交請求鎖定全部數據庫中的全部表,以保證數據的一致性。這是一個全局讀鎖,而且自動關閉--single-transaction和--lock-tables選項服務器

-l, --lock-tables Lock all tables for read.
(Defaults to on; use --skip-lock-tables to disable.)ide

mysqldump -uroot -p --host=localhost --all-databases --lock-tables
開始導出前,多訂全部表。用READ LOCAL鎖定表以容許MyISAM表並行插入.對於支持事務的表例如InnoDB和BDB,--single-transaction是一個更好的選擇,由於它根本不須要鎖定表。
請注意當導出多個數據庫時,--lock-tables分別爲每一個數據庫鎖定表。所以,該選項不能保證導出文件的表在數據庫之間的邏輯一致性。不一樣數據庫表的導出狀態徹底不一樣。日誌

--master-data[=#]
該選項將binlog的位置和文件名追加到輸出文件中。若是爲1,將會輸出CHANGE MASTER命令;若是爲2,輸出的CHANGE MASTER命令前添加註釋信息。該選項打開--lock-all-tables 選項,除非--single-transaction也被鎖定.code

恢復命令
針對壓縮的備份數據恢復;
一、方法htm

gzip -d /backup/mysql.sql.gz
mysql -uroot -poldboy </backup/mysql.sql

不刪除源備份文件:blog

gzip -cd 01.sql.gz >2.sql

二、方法

gunzip <bak.sql.gz|mysql -uroot -poldboy123

恢復過程當中可能遇到的問題

error:Percona-XtraDB-Cluster prohibits use of ALTER command on a table
(base_test.station_cmcu) that resides in non-transactional storage engine (except switching to transactional engine)
with pxc_strict_mode = ENFORCING or MASTER

PXC嚴格模式旨在避免在Percona XtraDB羣集中使用實驗性和不受支持的功能。它在啓動時和運行時執行許多驗證。

根據您選擇的實際模式,在遇到驗證失敗時,服務器將拋出錯誤(暫停啓動或拒絕操做),或者記錄警告並繼續正常運行。可使用如下模式:

DISABLED:不要執行嚴格的模式驗證並正常運行。
PERMISSIVE:若是vaidation失敗,請記錄警告並繼續正常運行。
ENFORCING:若是啓動期間驗證失敗,請暫停服務器並拋出錯誤。若是驗證在運行時失敗,則拒絕操做並拋出錯誤。
MASTER:ENFORCING除了不執行顯式表鎖定的驗證以外 。此模式可與羣集一塊兒使用,其中寫入操做與單個節點隔離。

默認狀況下,PXC嚴格模式設置爲ENFORCING,除非節點充當獨立服務器或節點是自舉,不然PXC嚴格模式默認爲DISABLED。

Percona XtraDB Cluster目前僅支持對使用事務存儲引擎(XtraDB或InnoDB)的表進行復制。爲確保數據一致性,對於使用非事務性存儲引擎(MyISAM,MEMORY,CSV等)的表,不該容許如下語句:

即進行寫入到表數據操做語句(例如,INSERT,UPDATE,DELETE,等等)
如下管理報表: CHECK,OPTIMIZE,REPAIR,和ANALYZE
TRUNCATE TABLE 和 ALTER TABLE
根據所選模式,會發生如下狀況:

DISABLED 啓動時,不執行驗證。在運行時,容許全部操做。

PERMISSIVE 啓動時,不會執行任何驗證。在運行時,容許全部操做,但在不支持的表上執行不須要的操做時會記錄警告。

ENFORCING 要麼 MASTER 。啓動時,不執行驗證。在運行時,拒絕對不受支持的表執行的任何不良操做,並記錄錯誤。

MyISAM複製

Percona XtraDB Cluster爲使用MyISAM存儲引擎的表的複製提供實驗支持。因爲MyISAM的非事務性質,Percona XtraDB集羣不太可能徹底支持它。

使用wsrep_replicate_myisam變量控制MyISAM複製,該變量OFF默認設置爲。因爲其不可靠性,若是要確保數據一致性,則不該啓用MyISAM複製。

根據所選模式,會發生如下狀況:

DISABLED 啓動時,不執行驗證。在運行時,您能夠設置wsrep_replicate_myisam爲任何值。

PERMISSIVE 在啓動時,若是wsrep_replicate_myisam設置爲ON,則會記錄警告並繼續啓動。
在運行時,容許更改wsrep_replicate_myisam 爲任何值,但若是將其設置爲ON,則會記錄警告。

ENFORCING 要麼 MASTER
在啓動時,若是wsrep_replicate_myisam設置爲ON,則會記錄錯誤並停止啓動。
在運行時,任何試圖改變wsrep_replicate_myisam 以ON失敗並記錄錯誤。
https://www.percona.com/doc/percona-xtradb-cluster/LATEST/features/pxc-strict-mode.html

這裏是由於pxc不支持myisam格式的表導入咱們要調整PXC Strict Mode爲DISABLED

mysql> SET GLOBAL pxc_strict_mode=DISABLED;

再更改默認的wsrep_replicate_myisam = OFF爲ON

mysql> show VARIABLES like 'wsrep_replicate_myisam%';

wsrep_replicate_myisam = OFF

mysql> SET GLOBAL wsrep_replicate_myisam = ON;

mysql> show VARIABLES like 'wsrep_replicate_myisam%';
wsrep_replicate_myisam = ON

更改參數最好在全部的pxc節點上

相關文章
相關標籤/搜索