千家信息网

pxc-全备和恢复

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,全备份命令sudo mysqldump -usunx -p'mysqladmin' -P6612 -h292.168.1.203 -A -B --skip-add-locks --skip-lock
千家信息网最后更新 2026年11月02日pxc-全备和恢复

全备份命令

sudo mysqldump -usunx -p'mysqladmin' -P6612 -h292.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:不用锁表备份

扩展:

--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.)

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也被锁定.

恢复命令
针对压缩的备份数据恢复;
1、方法

gzip -d /backup/mysql.sql.gzmysql -uroot -poldboy 

不删除源备份文件:

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

2、方法

gunzip 

恢复过程中可能遇到的问题

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为ONmysql> show VARIABLES like 'wsrep_replicate_myisam%';wsrep_replicate_myisam = OFFmysql> SET GLOBAL wsrep_replicate_myisam = ON;mysql> show VARIABLES like 'wsrep_replicate_myisam%';wsrep_replicate_myisam = ON

更改参数最好在所有的pxc节点上

数据 运行 验证 模式 支持 数据库 错误 命令 备份 文件 一致 一致性 事务 节点 服务 引擎 情况 服务器 语句 存储 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 科技互联网公司装修 互联网科技卖菜 金融科技创新监管互联网金融 西安互联网科技 睿民互联网科技 广州凡科互联网科技 互联网高科技企业 科技伦理 互联网公司 华脉科技工业互联网产品 创业天下互联网科技有限公司 互联网保险科技创业 互联网金融科技元年 互联网科技资金流入 陕西云淼互联网科技公司 互联网科技包装股份有限公司上市 工业互联网科技创业 吉林省码上互联网科技电话 互联网科技和医药行业 北京品多多互联网科技有限公司 互联网通讯科技 河南真二互联网科技有限公司 居家互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 厦门千工互联网科技有限公司 青岛科技大学互联网大赛研究生 恒生互联网科技指数跳水 开一家科技互联网公司需要多少钱 湖北辰鑫科技互联网 版纳互联网科技选哪家
0