mysql数据库备份工具
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于mysql数据库备份工具内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在mysql数据库备份工具相关知识领域提供全面立体的资料补充。同时还包含 machine_start、macox、magellan 的知识内容,欢迎查阅!
mysql数据库备份工具相关知识
-
Mydumper - MySQL数据库备份工具Mydumper 是 MySQL 数据库服务器备份工具,它比 MySQL 自带的 mysqldump 快很多。它还有在转储的同时获取远程服务器二进制日志文件的能力。Mydumper 的优势并行能力 (因此有高速度) 和性能 (高效的代码避免了耗费 CPU 处理能力的字符集转换过程)更容易管理输出 (每个表都对应独立的文件,转储元数据等,便于查看/解析数据)一致性 :跨线程维护快照, 提供精确的主从日志定位等。可管理性 : 支持用 PCRE 来包含/排除指定的数据库和表(LCTT译注:PCRE,Perl Compatible Regular Expression,Perl兼容正则表达式)在Ubuntu上安装 mydumper打开终端运行以下命令sudo apt-get install mydumper使用 Mydumper语法mydumper [options]应用程序选项:-B, --database 要转储的数据库-T, --tables-list 逗号分隔的转储表
-
mysql xtrabackup 备份恢复实现分享 简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1)备份过程快速、可靠; (2)备份过程不会打断正在执行的事务; (3)能够基于压缩等功能节约磁盘空间和流量; (4)自动实现备份检验; (5)还原速度快; Xtrabackup中包含两个工具: * xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表。 * innobackupex - 对xtrabackup封装的perl脚本,提供了MyISAM表备份的能力。(能进行整库和数据表备份)。 使用innobakupex备份时,其会调用xtrabackup备份所有的InnoDB表,复制所有关于表结构定义的相关文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相关文件, 同时还会备份触发器和数据库配
-
mysql数据库备份命令分享(mysql压缩数据库备份)备份MySQL数据库的命令复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。复制代码 代码如下:mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz备份MySQL数据库某个(些)表复制代码 代码如下:mysqldump -hhostname -uusername -ppassword databasename specific_table1
-
MySQL数据库备份以及常用备份工具集合一、数据库备份种类按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下:1.1完全备份这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。1.2事务日志备份事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。1.3差异备份也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。1.4文件备份数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很
mysql数据库备份工具相关课程
mysql数据库备份工具相关教程
- MySQL 数据库的备份与恢复 数据库的备份与恢复,一直都是DBA最为重要的工作,任何生产环境的数据库都必须有完整的备份方案与恢复测试。本小节将主要介绍MySQL的备份与恢复。
- 2. 常用的逻辑备份场景 MySQL 中,mysqldump 是常用的逻辑备份工具。以下是常用的备份场景:备份所有数据库shell> mysqldump [options] --all-databases实际案例:备份所有数据库[mysql@localhost ~]$ mysqldump -uroot -p --all-databases > /tmp/all_databases.sqlEnter password: [mysql@localhost ~]$ ls -lrt all_databases.sql-rw-r--r-- 1 mysql mysql 136106866 Jul 23 17:02 all_databases.sql备份一个或多个数据库shell> mysqldump [options] --databases db_name ...实际案例:备份数据库 tempdb[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb > /tmp/db_tempdb.sqlEnter password: [mysql@localhost ~]$ ls -lrt db_tempdb.sql -rw-r--r-- 1 mysql mysql 19602842 Jul 23 17:17 db_tempdb.sql实际案例:备份数据库 tempdb 和 test111[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb test111 > /tmp/db_tempdb_test111.sqlEnter password: [mysql@localhost ~]$ ls -lrt db_tempdb_test111.sql -rw-r--r-- 1 mysql mysql 19604085 Jul 23 17:23 db_tempdb_test111.sql备份一个或多个表shell> mysqldump [options] db_name [tbl_name ...]实际案例:备份数据库tempdb的表customer[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer > /tmp/table_customer.sqlEnter password: [mysql@localhost ~]$ ls -lrt table_customer.sql -rw-r--r-- 1 mysql mysql 2512 Jul 23 17:35 table_customer.sql实际案例:备份数据库 tempdb 的表 customer 和 t1[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer t1 > /tmp/table_customer_t1.sqlEnter password: [mysql@localhost ~]$ ls -lrt table_customer_t1.sql -rw-r--r-- 1 mysql mysql 3141 Jul 23 17:37 table_customer_t1.sql备份表结构-不包含数据实际案例:备份数据库 tempdbd 的表结构:[mysql@localhost ~]$ mysqldump -uroot -p --databases tempdb -d > /tmp/structure_tempdb.sqlEnter password: [mysql@localhost ~]$ ls -lrt structure_db_tempdb.sql -rw-r--r-- 1 mysql mysql 9987 Jul 23 17:40 structure_db_tempdb.sql实际案例:备份数据库tempdb表customer的表结构[mysql@localhost ~]$ mysqldump -uroot -p tempdb customer -d > /tmp/structure_table_customer.sqlEnter password: [mysql@localhost ~]$ ls -lrt structure_table_customer.sql -rw-r--r-- 1 mysql mysql 2230 Jul 23 17:48 structure_table_customer.sql
- 3. 备份方案的设计 将RPO和RTO定义清楚,可以更好地指导备份策略。一般来说,能承受的数据丢失越多,备份就越简单。一个好的备份方案,需要考量以下几点:对于较大数据库(个人经验是整个数据文件大于50GB),物理备份是必须的,备份工具Percona XtraBackup和MySQL Enterprise Backup是比较好的选择。对于较小的数据库,逻辑备份就可以满足备份需求,备份工具mysqldump是比较好的选择;确保MySQL的log-bin选项是打开的,有了binlog,MySQL才能做完整的恢复、基于时间点的恢复、以及基于位置的恢复;备份二进制日志,用于故障时间点的恢复;在存储资源许可的条件下,保留足够多的备份集;定期从备份中进行恢复测试;需确保备份文件是有效的,是可以恢复的;通过恢复演练,测算恢复锁需要的实际时间,以及所需要的资源,如CPU、磁盘空间、内存、网络等。
- MySQL 的物理备份 物理备份的原理通常是基于物理文件的拷贝,和逻辑备份相比,它的最大优点是备份速度更快。本小节将主要介绍 MySQL 的物理备份方法。
- MySQL 的逻辑备份 逻辑备份的最大优点是对于所有存储引擎都可以用同样的方法来备份,是目前中小型系统最常使用最简单的备份方式。本小节将主要介绍 MySQL 的逻辑备份。
- 2. InnoDB 的热备 目前,比较流行的 InnoDB 存储引擎的热备工具是 Xtrabackup。 xtrabackup 是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQL、Percona server 和 MariaDB,开源免费,是目前较为受欢迎的主流备份工具 ,它能对 InnoDB 数据库和 XtraDB 存储引擎的数据库非阻塞地备份(对于 MyISAM 的备份同样需要加表锁)。Xtrabackup 优点:备份速度快,物理备份可靠;备份过程不会打断正在执行的事务(无需锁表);能够基于压缩等功能节约磁盘空间和流量;自动备份校验;还原速度快;可以流传将备份传输到另外一台机器上;在不增加服务器负载的情况备份数据。实际案例:Xtrabackup 全量备份:[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --no-timestamp /mysql/dbbackup/200823 21:11:33 innobackupex: Starting the backup operationIMPORTANT: Please check that the backup run completes successfully. At the end of a successful backup run innobackupex prints "completed OK!".200823 21:11:33 version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;port=3306;mysql_socket=/mysql/tmp/mysql.sock' as 'root' (using password: YES).200823 21:11:33 version_check Connected to MySQL server200823 21:11:33 version_check Executing a version check against the server...200823 21:11:33 version_check Done.200823 21:11:33 Connecting to MySQL server host: localhost, user: root, password: set, port: 3306, socket: /mysql/tmp/mysql.sock......200823 21:11:48 Finished backing up non-InnoDB tables and files200823 21:11:48 [00] Writing /mysql/dbbackup/xtrabackup_binlog_info200823 21:11:48 [00] ...done200823 21:11:48 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...xtrabackup: The latest check point (for incremental): '14533834254'xtrabackup: Stopping log copying thread..200823 21:11:48 >> log scanned up to (14533834263)200823 21:11:49 Executing UNLOCK TABLES200823 21:11:49 All tables unlocked200823 21:11:49 [00] Copying ib_buffer_pool to /mysql/dbbackup/ib_buffer_pool200823 21:11:49 [00] ...done200823 21:11:49 Backup created in directory '/mysql/dbbackup/'MySQL binlog position: filename 'mysql-bin.000022', position '190', GTID of the last change '294ae4cf-be0f-11e7-8269-fa163e665653:1-2769,a373c879-3a2c-11e8-bb78-fa163e665653:1-5,aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-40:1000012-1000013'200823 21:11:49 [00] Writing /mysql/dbbackup/backup-my.cnf200823 21:11:49 [00] ...done200823 21:11:49 [00] Writing /mysql/dbbackup/xtrabackup_info200823 21:11:49 [00] ...donextrabackup: Transaction log of lsn (14533834254) to (14533834263) was copied.200823 21:11:49 completed OK!备份完成后,备份目录将产生如下文件:[root@localhost ~]$ ls -lh /mysql/dbbackup/total 101M-rw-r----- 1 root root 433 Aug 23 21:11 backup-my.cnf-rw-r----- 1 root root 42K Aug 23 21:11 ib_buffer_pool-rw-r----- 1 root root 100M Aug 23 21:11 ibdata1drwxr-x--- 2 root root 4.0K Aug 23 21:11 mysqldrwxr-x--- 2 root root 4.0K Aug 23 21:11 performance_schemadrwxr-x--- 2 root root 12K Aug 23 21:11 sysdrwxr-x--- 2 root root 4.0K Aug 23 21:11 tempdb-rw-r----- 1 root root 166 Aug 23 21:11 xtrabackup_binlog_info-rw-r----- 1 root root 121 Aug 23 21:11 xtrabackup_checkpoints-rw-r----- 1 root root 703 Aug 23 21:11 xtrabackup_info-rw-r----- 1 root root 2.5K Aug 23 21:11 xtrabackup_logfile实际案例:Xtrabackup 增量备份:在进行增量备份之前,首先要有一次全量备份,第一次增量是基于全备份,之后的增量是基于上一次的增量备份。[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --no-timestamp /mysql/hotbackup/base-- 从xtrabackup_checkpoints文件可以看出,备份类型为全备份,lsn号从0至14533834254[root@localhost ~]# cat /mysql/hotbackup/base/xtrabackup_checkpoints backup_type = full-backupedfrom_lsn = 0to_lsn = 14533834254last_lsn = 14533834263compact = 0recover_binlog_info = 0表 customer 插入新的数据:mysql> insert into customer(id,last_name,first_name,birth_date,gender,balance) values(3,333,333,'2020-08-10',1,30);Query OK, 1 row affected (0.00 sec)mysql> insert into customer(id,last_name,first_name,birth_date,gender,balance) values(4,444,444,'2020-09-10',1,40);Query OK, 1 row affected (0.00 sec)第一次增量备份:[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=MyNewPass4! --port=3306 --incremental --no-timestamp /mysql/hotbackup/inc1 --incremental-basedir=/mysql/hotbackup/base-- 从xtrabackup_checkpoints文件可以看出,备份类型为增量备份,lsn号从lsn 14533834254至lsn 14533838790,14533834254为全备份的to_lsn,表示备份从lsn 14533834254以来的增量变化。[root@localhost ~]# cat /mysql/hotbackup/inc1/xtrabackup_checkpoints backup_type = incrementalfrom_lsn = 14533834254to_lsn = 14533838790last_lsn = 14533838799compact = 0recover_binlog_info = 0
mysql数据库备份工具相关搜索
-
mac osx
machine_start
macox
magellan
malloc
manifest
manifest文件
map
map 遍历
mapreduce编程
maps google com
margin
margin bottom
margin left
margin right
margin top
marginbottom
marginheight
marginleft
margintop