Mysql

使用Percona XtraBackup 8.0备份和恢复MySQL 8.0数据库

2023-08-22
Mysql, Percona, Xtrabackup

1.创建备份专用用户 #

Percona XtraBackup需要能够连接到数据库服务器,并在创建备份时、在某些场景下准备备份以及在还原备份时执行操作。为了实现这一点,对其执行所需的Privilege和权限Permissions要求必须得到满足。

  • Privilege:指的是系统用户在数据库服务器中被允许执行的操作。它们在数据库服务器上设置,仅适用于数据库服务器中的用户。
  • Permissions: 允许用户在系统上执行操作,比如在某个目录上读取、写入或执行,或者启动/停止系统服务。它们在系统级别上设置,仅适用于系统用户。

当使用xtrabackup时,涉及到两个用户:

...

Percona XtraBackup 8.0命令行参数参考

2023-08-22
Mysql, Percona, Xtrabackup

操作模式 #

可以在以下模式之一中调用xtrabackup:

  • --backup模式,用于在目标目录中进行备份
  • --prepare模式,用于从备份中恢复数据(在--backup模式下创建)
  • --copy-back模式,用于从备份中复制数据到原始数据所在的位置;若要移动数据而不是复制,请使用替代的--move-back模式。
  • --stats模式,用于扫描指定的数据文件并打印出索引统计信息。

当你打算在这些模式中运行xtrabackup时,请使用以下语法:

...

Percona XtraBackup 8.0工具集的简介和安装

2023-08-22
Mysql, Percona, Xtrabackup

1. Percona XtraBackup工具集的组成 #

Percona XtraBackup是由以下几个二进制文件组成的:

  • xtrabackup:一个已编译的C语言二进制文件,提供了备份包括MyISAM、InnoDB和XtraDB表在内的整个MySQL数据库实例的功能。
  • xbcrypt:用于加密和解密备份文件的实用工具。
  • xbstream:一个实用工具,允许在xbstream格式与文件之间进行流式传输和提取。
  • xbcloud:用于从云端下载和上传xbstream存档的部分或全部内容的实用工具。

推荐的备份方式是使用xtrabackup。

...

Percona XtraBackup 8.0的功能特性

2023-08-22
Mysql, Percona, Xtrabackup

1.备份特性(backup features) #

1.1 LRU dump backup #

Percona XtraBackup在备份中包含了一个已保存的缓冲池转储,以便减少预热时间。在重新启动后,它可以从ib_buffer_pool文件中还原缓冲池状态。Percona XtraBackup会自动检测并备份ib_buffer_pool

...

Percona XtraBackup 8.0的工作原理

2023-08-21
Mysql, Percona, Xtrabackup

1.简介 #

Percona XtraBackup是开源、免费的 MySQL热备份软件,可对InnoDB和XtraDB数据库执行非阻塞备份。

使用Percona XtraBackup,有以下好处:

  • 快速可靠的完成备份
  • 备份过程中的事务处理不中断
  • 节省磁盘空间和网络带宽
  • 自动备份验证
  • 更快的恢复时间,提高可用性

Percona XtraBackup 可为所有版本的Percona Server for MySQL和MySQL进行热备份。它可以执行流式、压缩和增量的MySQL备份。

...

MySQL从库的Crash Safe

2017-10-17
Mysql

最近测试环境的一个三节点的MySQL GR集群(单主)的一个从节点发生了宕机,重启恢复后,过了一会监控系统告警,刚刚宕机的这个节点退出了GR集群。原因是主库上对某条数据的修改复制到从库后,在这个从库上找不到这条数据(slave_exec_mode=STRICT),第一反应就是主库和从库出现了不一致。因为是测试环境,数据量不大,所以采取的方案是将从库重建(团队没有专门的DBA)。接下来特意查看了一下MySQL复制和从库宕机恢复这块的资料。

...

在CentOS7上使用yum安装MySQL 5.7

2017-05-08
Mysql

最近在准备团队新的开发环境,首先从配置管理做起,配置管理服务器只有一台,配置如下:

1DELL R430机架服务器
2CPU: e5-2603V4 8核
3MEM: 32G
4DISK: 2TB, raid1

团队DevOps流程所需要的多种系统都需要使用MySQL数据库,因此现在这里简单安装一个MySQL,做一下准备工作。

...

使用MySQL的可传输表空间特性恢复表或迁移表数据

2017-03-05
Mysql

在MySQL运维中可能会遇到以下两个需求的场景,一个是从MySQL的备份中恢复单个表;另一个是将一套环境数据库某个表中的数据导入到另一套环境的数据中。 对于前者肯定需要用到数据库的备份,而对于后者如果使用普通的mysqldump导出表数据再导入的方式将十分缓慢。 MySQL从5.6开始支持了可传输表空间(Transportable Tablespaces)特性,该特性允许表空间(table.ibd)从一个实例拷贝到另一个实例上,使用这个特性可以实现前面提到的两个运维场景。

...

MySQL多源复制故障修复, 重新初始化一个channel的复制

2017-03-04
Mysql

MySQL 5.7数据库多源复制拓扑如下:

1M1 --------+
2           |
3           |
4           v
5M2 ------->S

M1和M2为两个主数据库实例,S为从数据库实例,建立了从M1到S和从M2到S的多源复制。

S上执行:

  1SHOW SLAVE STATUS \G
  2*************************** 1. row ***************************
  3               Slave_IO_State: Waiting for master to send event
  4                  Master_Host: x.x.x.x
  5                  Master_User: repl
  6                  Master_Port: 3306
  7                Connect_Retry: 60
  8              Master_Log_File: binlog.000106
  9          Read_Master_Log_Pos: 15847815
 10               Relay_Log_File: relay-bin-m1.000003
 11                Relay_Log_Pos: 15684092
 12        Relay_Master_Log_File: binlog.000106
 13             Slave_IO_Running: Yes
 14            Slave_SQL_Running: Yes
 15              Replicate_Do_DB: 
 16          Replicate_Ignore_DB: 
 17           Replicate_Do_Table: 
 18       Replicate_Ignore_Table: 
 19      Replicate_Wild_Do_Table: 
 20  Replicate_Wild_Ignore_Table: sys.%,performance_schema.%,mysql.%,information_schema.%
 21                   Last_Errno: 0
 22                   Last_Error: 
 23                 Skip_Counter: 0
 24          Exec_Master_Log_Pos: 15847815
 25              Relay_Log_Space: 15684290
 26              Until_Condition: None
 27               Until_Log_File: 
 28                Until_Log_Pos: 0
 29           Master_SSL_Allowed: No
 30           Master_SSL_CA_File: 
 31           Master_SSL_CA_Path: 
 32              Master_SSL_Cert: 
 33            Master_SSL_Cipher: 
 34               Master_SSL_Key: 
 35        Seconds_Behind_Master: 0
 36Master_SSL_Verify_Server_Cert: No
 37                Last_IO_Errno: 0
 38                Last_IO_Error: 
 39               Last_SQL_Errno: 0
 40               Last_SQL_Error: 
 41  Replicate_Ignore_Server_Ids: 
 42             Master_Server_Id: 86
 43                  Master_UUID: @17070e4d-a4bc-49b6-88d4-cbbc610abc2b
 44             Master_Info_File: mysql.slave_master_info
 45                    SQL_Delay: 0
 46          SQL_Remaining_Delay: NULL
 47      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
 48           Master_Retry_Count: 86400
 49                  Master_Bind: 
 50      Last_IO_Error_Timestamp: 
 51     Last_SQL_Error_Timestamp: 
 52               Master_SSL_Crl: 
 53           Master_SSL_Crlpath: 
 54           Retrieved_Gtid_Set: 134db0a3-61a4-4f96-8574-a3ec77045987:68811801-68821751
 55            Executed_Gtid_Set: 30d1ce13-e8b0-43ae-b989-667aa0394fb8:1-240,
 56f7123455-4085-4e24-a028-e0cff16d1cc6:1-8409014,
 57f0c67103-9183-46c3-b34f-1b7fac7c0f51:1,
 5817070e4d-a4bc-49b6-88d4-cbbc610abc2b:1,
 59bb09bbce-c153-4af2-ab6f-85e70b74a13c:1-3,
 60cc96b6de-d317-4881-9a86-9c9b690cb8cc:1-15,
 61178dde0c-492c-4365-96e2-57008f2bd232:1-524521756,
 62da0e0547-a1ca-4cae-8db9-f3a90b3a996a:1,
 63134db0a3-61a4-4f96-8574-a3ec77045987:1-68821751
 64                Auto_Position: 1
 65         Replicate_Rewrite_DB: 
 66                 Channel_Name: m1
 67           Master_TLS_Version: 
 68*************************** 2. row ***************************
 69               Slave_IO_State: Waiting for master to send event
 70                  Master_Host: x.x.x.x
 71                  Master_User: repl
 72                  Master_Port: 3306
 73                Connect_Retry: 60
 74              Master_Log_File: binlog.002584
 75          Read_Master_Log_Pos: 127954993
 76               Relay_Log_File: relay-bin-m2.003944
 77                Relay_Log_Pos: 127955152
 78        Relay_Master_Log_File: binlog.002584
 79             Slave_IO_Running: Yes
 80            Slave_SQL_Running: Yes
 81              Replicate_Do_DB: 
 82          Replicate_Ignore_DB: 
 83           Replicate_Do_Table: 
 84       Replicate_Ignore_Table: 
 85      Replicate_Wild_Do_Table: 
 86  Replicate_Wild_Ignore_Table: sys.%,performance_schema.%,mysql.%,information_schema.%
 87                   Last_Errno: 0
 88                   Last_Error: 
 89                 Skip_Counter: 0
 90          Exec_Master_Log_Pos: 127954993
 91              Relay_Log_Space: 127955430
 92              Until_Condition: None
 93               Until_Log_File: 
 94                Until_Log_Pos: 0
 95           Master_SSL_Allowed: No
 96           Master_SSL_CA_File: 
 97           Master_SSL_CA_Path: 
 98              Master_SSL_Cert: 
 99            Master_SSL_Cipher: 
100               Master_SSL_Key: 
101        Seconds_Behind_Master: 0
102Master_SSL_Verify_Server_Cert: No
103                Last_IO_Errno: 0
104                Last_IO_Error: 
105               Last_SQL_Errno: 0
106               Last_SQL_Error: 
107  Replicate_Ignore_Server_Ids: 
108             Master_Server_Id: 69
109                  Master_UUID: c8822a1d-d39c-11e9-8301-fa163e13923c
110             Master_Info_File: mysql.slave_master_info
111                    SQL_Delay: 0
112          SQL_Remaining_Delay: NULL
113      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
114           Master_Retry_Count: 86400
115                  Master_Bind: 
116      Last_IO_Error_Timestamp: 
117     Last_SQL_Error_Timestamp: 
118               Master_SSL_Crl: 
119           Master_SSL_Crlpath: 
120           Retrieved_Gtid_Set: 178dde0c-492c-4365-96e2-57008f2bd232:524093802-524521756
121            Executed_Gtid_Set: 30d1ce13-e8b0-43ae-b989-667aa0394fb8:1-240,
122f7123455-4085-4e24-a028-e0cff16d1cc6:1-8409014,
123f0c67103-9183-46c3-b34f-1b7fac7c0f51:1,
12417070e4d-a4bc-49b6-88d4-cbbc610abc2b:1,
125bb09bbce-c153-4af2-ab6f-85e70b74a13c:1-3,
126cc96b6de-d317-4881-9a86-9c9b690cb8cc:1-15,
127178dde0c-492c-4365-96e2-57008f2bd232:1-524521756,
128da0e0547-a1ca-4cae-8db9-f3a90b3a996a:1,
129134db0a3-61a4-4f96-8574-a3ec77045987:1-68821751
130                Auto_Position: 1
131         Replicate_Rewrite_DB: 
132                 Channel_Name: m2
133           Master_TLS_Version: 
1342 rows in set (0.00 sec)

多源复制(Multi-source replication)是指在一个数据库中从多个源数据库中复制数据到同一个目标数据库的过程。要在 MySQL 中实现多源复制,需要在目标数据库中创建多个复制通道(replication channel),每个通道对应一个源数据库。每个通道都需要有独立的复制配置,包括源数据库的连接信息、复制过滤规则等。

...

如何为MySQL 5.7 Group Replication集群中添加新节点

2017-03-04
Mysql

MySQL Group Replication(简称MGR)是MySQL 5.7引入的的一个新特性,是基于原生复制及paxos协议的组复制技术的高可用解决方案。 本文记录如何向MySQL 5.7 MGR集群(单主模式)中添加新节点的具体步骤,适用的场景包括: 添加新节点到集群中、迁移集群中的某个节点到另外一台服务器上。

...

© 2024 青蛙小白