一、Xtrabackup备份介绍及原理

二、Xtrabackup的安装

1、在centos7上基于yum源安装percona-xtrabackup软件

[root@node7 ~]# yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

注意:centos5不支持从远程位置直接安装软件包,必须先通过wget下载下来,然后在通过rpm安装,操作如下

$ wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/ \ \
Percona的释放,0.1-4.noarch.rpm
$ rpm -ivH percona-release-0.1-4.noarch.rpm

[root@node7 ~]# yum -y install percona-xtrabackup-24

查看:

[root@node7 ~]# rpm -ql percona-xtrabackup-24
/usr/bin/innobackupex
/usr/bin/xbcloud
/usr/bin/xbcloud_osenv
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup
/usr/share/doc/percona-xtrabackup-24-2.4.10
/usr/share/doc/percona-xtrabackup-24-2.4.10/COPYING
/usr/share/man/man1/innobackupex.1.gz
/usr/share/man/man1/xbcrypt.1.gz
/usr/share/man/man1/xbstream.1.gz
/usr/share/man/man1/xtrabackup.1.gz

2、通过下载对应系统的rpm包来安装

官网:https://www.percona.com/downloads/XtraBackup/LATEST/

以percona-xtrabackup-2.3.8为例

[root@node7 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.8/binary/redhat/7/x86_64/percona-xtrabackup-2.3.8-1.el7.x86_64.rpm

[root@node7 ~]# yum -y localinstall percona-xtrabackup-2.3.8-1.el7.x86_64.rpm

三)通过percona-xtrabackup备份还原数据库

案例1)完全备份及还原

数据库服务器: node8.51yuki.cn  10.2.13.167    centos7.3

第一步:创建用于备份的用户

mysql> GRANT SELECT, INSERT, CREATE, RELOAD, PROCESS, SUPER, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost' IDENTIFIED BY 'Aa123321';
Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

第二步:创建需要存放备份的目录

[root@node8 ~]#mkdir -p /opt/backup

第三步: 执行完全备份命令 (通过innobackupex命令)

完全备份数据库

[root@node8 ~]# innobackupex --user=bkpuser --password='Aa123321' /opt/backup -S /tmp/mysql.sock
180404 09:55:38 innobackupex: Starting the backup operation

IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".

180404 09:55:38 version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;mysql_socket=/tmp/mysql.sock' as 'bkpuser' (using password: YES).
180404 09:55:38 version_check Connected to MySQL server
180404 09:55:38 version_check Executing a version check against the server...
180404 09:55:38 version_check Done.
180404 09:55:38 Connecting to MySQL server host: localhost, user: bkpuser, password: set, port: not set, socket: /tmp/mysql.sock
Using server version 5.6.39-log
innobackupex version 2.4.10 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 3198bce)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/m_data/
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = .
xtrabackup: innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 1073741824
InnoDB: Number of pools: 1
180404 09:55:38 >> log scanned up to (21886050)
xtrabackup: Generating a list of tablespaces
InnoDB: Allocated tablespace ID 1 for mysql/innodb_table_stats, old maximum was 0
180404 09:55:39 [01] Copying ./ibdata1 to /opt/backup/2018-04-04_09-55-38/ibdata1
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mysql/innodb_table_stats.ibd to /opt/backup/2018-04-04_09-55-38/mysql/innodb_table_stats.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mysql/innodb_index_stats.ibd to /opt/backup/2018-04-04_09-55-38/mysql/innodb_index_stats.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mysql/slave_relay_log_info.ibd to /opt/backup/2018-04-04_09-55-38/mysql/slave_relay_log_info.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mysql/slave_master_info.ibd to /opt/backup/2018-04-04_09-55-38/mysql/slave_master_info.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mysql/slave_worker_info.ibd to /opt/backup/2018-04-04_09-55-38/mysql/slave_worker_info.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./mydb/b.ibd to /opt/backup/2018-04-04_09-55-38/mydb/b.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./wordpress/wp_commentmeta.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_commentmeta.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./wordpress/wp_comments.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_comments.ibd
180404 09:55:39 [01] ...done
180404 09:55:39 [01] Copying ./wordpress/wp_options.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_options.ibd
180404 09:55:39 >> log scanned up to (21886050)
180404 09:55:39 [01] ...done
180404 09:55:40 [01] Copying ./wordpress/wp_postmeta.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_postmeta.ibd
180404 09:55:40 [01] ...done
180404 09:55:40 [01] Copying ./wordpress/wp_posts.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_posts.ibd
180404 09:55:40 [01] ...done
180404 09:55:40 >> log scanned up to (21886050)
180404 09:55:41 [01] Copying ./wordpress/wp_term_relationships.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_term_relationships.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 [01] Copying ./wordpress/wp_term_taxonomy.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_term_taxonomy.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 [01] Copying ./wordpress/wp_termmeta.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_termmeta.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 [01] Copying ./wordpress/wp_terms.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_terms.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 [01] Copying ./wordpress/wp_usermeta.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_usermeta.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 [01] Copying ./wordpress/wp_users.ibd to /opt/backup/2018-04-04_09-55-38/wordpress/wp_users.ibd
180404 09:55:41 [01] ...done
180404 09:55:41 >> log scanned up to (21886050)
180404 09:55:42 Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
180404 09:55:42 Executing FLUSH TABLES WITH READ LOCK...
180404 09:55:42 Starting to backup non-InnoDB tables and files
180404 09:55:42 [01] Copying ./mysql/db.frm to /opt/backup/2018-04-04_09-55-38/mysql/db.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/db.MYI to /opt/backup/2018-04-04_09-55-38/mysql/db.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/db.MYD to /opt/backup/2018-04-04_09-55-38/mysql/db.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/user.frm to /opt/backup/2018-04-04_09-55-38/mysql/user.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/user.MYI to /opt/backup/2018-04-04_09-55-38/mysql/user.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/user.MYD to /opt/backup/2018-04-04_09-55-38/mysql/user.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/func.frm to /opt/backup/2018-04-04_09-55-38/mysql/func.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/func.MYI to /opt/backup/2018-04-04_09-55-38/mysql/func.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/func.MYD to /opt/backup/2018-04-04_09-55-38/mysql/func.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/plugin.frm to /opt/backup/2018-04-04_09-55-38/mysql/plugin.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/plugin.MYI to /opt/backup/2018-04-04_09-55-38/mysql/plugin.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/plugin.MYD to /opt/backup/2018-04-04_09-55-38/mysql/plugin.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/servers.frm to /opt/backup/2018-04-04_09-55-38/mysql/servers.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/servers.MYI to /opt/backup/2018-04-04_09-55-38/mysql/servers.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/servers.MYD to /opt/backup/2018-04-04_09-55-38/mysql/servers.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/tables_priv.frm to /opt/backup/2018-04-04_09-55-38/mysql/tables_priv.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/tables_priv.MYI to /opt/backup/2018-04-04_09-55-38/mysql/tables_priv.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/tables_priv.MYD to /opt/backup/2018-04-04_09-55-38/mysql/tables_priv.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/columns_priv.frm to /opt/backup/2018-04-04_09-55-38/mysql/columns_priv.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/columns_priv.MYI to /opt/backup/2018-04-04_09-55-38/mysql/columns_priv.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/columns_priv.MYD to /opt/backup/2018-04-04_09-55-38/mysql/columns_priv.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_topic.frm to /opt/backup/2018-04-04_09-55-38/mysql/help_topic.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_topic.MYI to /opt/backup/2018-04-04_09-55-38/mysql/help_topic.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_topic.MYD to /opt/backup/2018-04-04_09-55-38/mysql/help_topic.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_category.frm to /opt/backup/2018-04-04_09-55-38/mysql/help_category.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_category.MYI to /opt/backup/2018-04-04_09-55-38/mysql/help_category.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_category.MYD to /opt/backup/2018-04-04_09-55-38/mysql/help_category.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_relation.frm to /opt/backup/2018-04-04_09-55-38/mysql/help_relation.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_relation.MYI to /opt/backup/2018-04-04_09-55-38/mysql/help_relation.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_relation.MYD to /opt/backup/2018-04-04_09-55-38/mysql/help_relation.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_keyword.frm to /opt/backup/2018-04-04_09-55-38/mysql/help_keyword.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_keyword.MYI to /opt/backup/2018-04-04_09-55-38/mysql/help_keyword.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/help_keyword.MYD to /opt/backup/2018-04-04_09-55-38/mysql/help_keyword.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_name.frm to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_name.MYI to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_name.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_name.MYD to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_name.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone.frm to /opt/backup/2018-04-04_09-55-38/mysql/time_zone.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone.MYI to /opt/backup/2018-04-04_09-55-38/mysql/time_zone.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone.MYD to /opt/backup/2018-04-04_09-55-38/mysql/time_zone.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition.frm to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition.MYI to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition.MYD to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition_type.frm to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition_type.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition_type.MYI to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition_type.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_transition_type.MYD to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_transition_type.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_leap_second.frm to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_leap_second.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_leap_second.MYI to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_leap_second.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/time_zone_leap_second.MYD to /opt/backup/2018-04-04_09-55-38/mysql/time_zone_leap_second.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proc.frm to /opt/backup/2018-04-04_09-55-38/mysql/proc.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proc.MYI to /opt/backup/2018-04-04_09-55-38/mysql/proc.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proc.MYD to /opt/backup/2018-04-04_09-55-38/mysql/proc.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/procs_priv.frm to /opt/backup/2018-04-04_09-55-38/mysql/procs_priv.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/procs_priv.MYI to /opt/backup/2018-04-04_09-55-38/mysql/procs_priv.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/procs_priv.MYD to /opt/backup/2018-04-04_09-55-38/mysql/procs_priv.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/general_log.frm to /opt/backup/2018-04-04_09-55-38/mysql/general_log.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/general_log.CSM to /opt/backup/2018-04-04_09-55-38/mysql/general_log.CSM
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/general_log.CSV to /opt/backup/2018-04-04_09-55-38/mysql/general_log.CSV
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slow_log.frm to /opt/backup/2018-04-04_09-55-38/mysql/slow_log.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slow_log.CSM to /opt/backup/2018-04-04_09-55-38/mysql/slow_log.CSM
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slow_log.CSV to /opt/backup/2018-04-04_09-55-38/mysql/slow_log.CSV
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/event.frm to /opt/backup/2018-04-04_09-55-38/mysql/event.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/event.MYI to /opt/backup/2018-04-04_09-55-38/mysql/event.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/event.MYD to /opt/backup/2018-04-04_09-55-38/mysql/event.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/ndb_binlog_index.frm to /opt/backup/2018-04-04_09-55-38/mysql/ndb_binlog_index.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/ndb_binlog_index.MYI to /opt/backup/2018-04-04_09-55-38/mysql/ndb_binlog_index.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/ndb_binlog_index.MYD to /opt/backup/2018-04-04_09-55-38/mysql/ndb_binlog_index.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/innodb_table_stats.frm to /opt/backup/2018-04-04_09-55-38/mysql/innodb_table_stats.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/innodb_index_stats.frm to /opt/backup/2018-04-04_09-55-38/mysql/innodb_index_stats.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slave_relay_log_info.frm to /opt/backup/2018-04-04_09-55-38/mysql/slave_relay_log_info.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slave_master_info.frm to /opt/backup/2018-04-04_09-55-38/mysql/slave_master_info.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/slave_worker_info.frm to /opt/backup/2018-04-04_09-55-38/mysql/slave_worker_info.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proxies_priv.frm to /opt/backup/2018-04-04_09-55-38/mysql/proxies_priv.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proxies_priv.MYI to /opt/backup/2018-04-04_09-55-38/mysql/proxies_priv.MYI
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./mysql/proxies_priv.MYD to /opt/backup/2018-04-04_09-55-38/mysql/proxies_priv.MYD
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/db.opt to /opt/backup/2018-04-04_09-55-38/performance_schema/db.opt
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/cond_instances.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/cond_instances.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_current.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_current.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_history.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_history.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_history_long.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_history_long.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_by_instance.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_by_instance.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_by_host_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_by_host_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_by_user_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_by_user_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_by_account_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_by_account_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_by_thread_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_by_thread_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 >> log scanned up to (21886050)
180404 09:55:42 [01] Copying ./performance_schema/events_waits_summary_global_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_waits_summary_global_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/file_instances.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/file_instances.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/file_summary_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/file_summary_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/file_summary_by_instance.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/file_summary_by_instance.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/socket_instances.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/socket_instances.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/socket_summary_by_instance.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/socket_summary_by_instance.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/socket_summary_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/socket_summary_by_event_name.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/host_cache.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/host_cache.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/mutex_instances.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/mutex_instances.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/objects_summary_global_by_type.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/objects_summary_global_by_type.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/performance_timers.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/performance_timers.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/rwlock_instances.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/rwlock_instances.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/setup_actors.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/setup_actors.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/setup_consumers.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/setup_consumers.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/setup_instruments.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/setup_instruments.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/setup_objects.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/setup_objects.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/setup_timers.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/setup_timers.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/table_io_waits_summary_by_index_usage.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/table_io_waits_summary_by_index_usage.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/table_io_waits_summary_by_table.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/table_io_waits_summary_by_table.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/table_lock_waits_summary_by_table.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/table_lock_waits_summary_by_table.frm
180404 09:55:42 [01] ...done
180404 09:55:42 [01] Copying ./performance_schema/threads.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/threads.frm
180404 09:55:42 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_current.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_current.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_history.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_history.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_history_long.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_history_long.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_summary_by_thread_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_summary_by_thread_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_summary_by_host_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_summary_by_host_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_summary_by_user_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_summary_by_user_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_summary_by_account_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_summary_by_account_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_stages_summary_global_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_stages_summary_global_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_current.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_current.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_history.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_history.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_history_long.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_history_long.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_by_thread_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_by_thread_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_by_host_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_by_host_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_by_user_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_by_user_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_by_account_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_by_account_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_global_by_event_name.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_global_by_event_name.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/hosts.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/hosts.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/users.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/users.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/accounts.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/accounts.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/events_statements_summary_by_digest.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/events_statements_summary_by_digest.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/session_connect_attrs.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/session_connect_attrs.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./performance_schema/session_account_connect_attrs.frm to /opt/backup/2018-04-04_09-55-38/performance_schema/session_account_connect_attrs.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./mydb/db.opt to /opt/backup/2018-04-04_09-55-38/mydb/db.opt
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./mydb/b.frm to /opt/backup/2018-04-04_09-55-38/mydb/b.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/db.opt to /opt/backup/2018-04-04_09-55-38/wordpress/db.opt
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_commentmeta.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_commentmeta.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_comments.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_comments.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit.MYI to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit.MYI
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit.MYD to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit.MYD
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit_cat.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit_cat.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit_cat.MYI to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit_cat.MYI
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_hermit_cat.MYD to /opt/backup/2018-04-04_09-55-38/wordpress/wp_hermit_cat.MYD
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_options.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_options.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_postmeta.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_postmeta.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_posts.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_posts.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_term_relationships.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_term_relationships.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_term_taxonomy.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_term_taxonomy.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_termmeta.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_termmeta.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_terms.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_terms.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_usermeta.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_usermeta.frm
180404 09:55:43 [01] ...done
180404 09:55:43 [01] Copying ./wordpress/wp_users.frm to /opt/backup/2018-04-04_09-55-38/wordpress/wp_users.frm
180404 09:55:43 [01] ...done
180404 09:55:43 Finished backing up non-InnoDB tables and files
180404 09:55:43 [00] Writing /opt/backup/2018-04-04_09-55-38/xtrabackup_binlog_info
180404 09:55:43 [00] ...done
180404 09:55:43 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '21886050'
xtrabackup: Stopping log copying thread.
.180404 09:55:43 >> log scanned up to (21886050)

180404 09:55:43 Executing UNLOCK TABLES
180404 09:55:43 All tables unlocked
180404 09:55:43 Backup created in directory '/opt/backup/2018-04-04_09-55-38/'
MySQL binlog position: filename 'bin.000016', position '470'
180404 09:55:43 [00] Writing /opt/backup/2018-04-04_09-55-38/backup-my.cnf
180404 09:55:43 [00] ...done
180404 09:55:43 [00] Writing /opt/backup/2018-04-04_09-55-38/xtrabackup_info
180404 09:55:43 [00] ...done
xtrabackup: Transaction log of lsn (21886050) to (21886050) was copied.
180404 09:55:43 completed OK!

第四步:然后把备份目录,通过rsync拷贝到备份服务器上(以达到本地存一份,远程存一份,避免本地服务器因硬件故障,导致备份丢失)

还原数据库

情景:假如有一天,数据库服务器因硬件故障,无法启动,我们在备份服务器上有数据库的备份记录,接下就演示如何完全还原数据库

第一步:先从备份服务器上,下载最新的完全备份目录到指定的服务器(node7.51yuki.cn)上

第二步:还原数据库前,需要先做一些整理(通过apply-log)

[root@node7 ~]# innobackupex --apply-log /backup/2018-04-04_09-55-38/
180404 10:16:29 innobackupex: Starting the apply-log operation

IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".

InnoDB: page_cleaner: 1000ms intended loop took 121481ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 21887016
180404 10:18:36 completed OK!

第三步:执行还原

注意:还原前不需要初始化数据库,或者如果数据目录里有文件,需要先删除即可

关闭myqld服务

[root@node7 ~]# systemctl stop mysqld

通过copy-back执行还原

[root@node7 m_data]# innobackupex --copy-back /backup/2018-04-04_09-55-38/
180404 11:56:40 innobackupex: Starting the copy-back operation

IMPORTANT: Please check that the copy-back run completes successfully.
At the end of a successful copy-back run innobackupex
prints "completed OK!".

180404 11:57:49 [01] Copying ./xtrabackup_binlog_pos_innodb to /backup/m_data/xtrabackup_binlog_pos_innodb
180404 11:57:49 [01] ...done
180404 11:57:49 completed OK!

[root@node7 ~]# chown -R mysql.mysql /backup/m_data/

然后启动mysqld,如果失败,查看日志/var/log/mysqld.log

[root@node7 ~]# systemctl start mysqld
[root@node7 ~]# ss -tunlp|grep 3306
tcp LISTEN 0 80 10.2.13.166:3306 *:* users:(("mysqld",pid=6618,fd=13))

2)如何使用innobackupex做增量备份

说明:

无论是xtrabackup和innobackupex工具都支持增量备份,还意味着它们可以只复制上次备份以来变化的数据,例如可以每周做一次完整备份和每天增量备份

增量备份的工作原理:每个innodb页面都包含日志序列号LSN,每个页面的LSN显示他最近变化的时间,增量备份复制LSN比之前增量或完全备份的LSN更新的每个页面。

增量备份只需读取页面并将其LSN与最后一个备份的LSN进行比较。但是,您仍需要完整备份才能恢复增量更改; 如果没有完整的备份作为基础,增量备份将毫无用处

注意:

  • 增量备份仅仅应用于innodb或xtradb表,对MyISAM表而言,执行增量备份其实进行的是完全备份
  • 如果每次的incremental-basedir都执行为上一次完全备份,其实这里做的就是差异备份

做增量备份

[root@node8 ~]# innobackupex --incremental --user=bkpuser --password='Aa123321' --socket=/tmp/mysql.sock /backup/ --incremental-basedir=/backup/2018-04-04_14-00-23

查看:

完全备份的信息:

[root@node8 2018-04-04_14-00-23]# cat xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 21893387
last_lsn = 21893387

增量备份的信息:

[root@node8 2018-04-04_14-03-56]# cat xtrabackup_checkpoints
backup_type = incremental
from_lsn = 21893387
to_lsn = 21927178
last_lsn = 21927178

还原数据库

  • 整理完全备份

[root@node7 backup]# innobackupex --apply-log --redo-only /backup/2018-04-04_14-00-23/

  • 整理部分备份 (把增量合并到完全备份)

[root@node7 backup]# innobackupex --apply-log --redo-only /backup/2018-04-04_14-00-23/ --incremental-dir=/backup/2018-04-04_14-03-56/

说明:如果有多个增量,如果有多个增量,那多都要把每个增量合并到完全备份上

查看:

[root@node7 2018-04-04_14-00-23]# cat xtrabackup_checkpoints
backup_type = log-applied
from_lsn = 0
to_lsn = 21927178
last_lsn = 21927178      这里发现to_lsn和上次查看增量备份的的last_lsn一致,说明已经增量备份已经合并到完全备份咯

还原数据库:

[root@node7 ~]# cd /backup/m_data/
[root@node7 m_data]# rm -rf *
[root@node7 m_data]# systemctl stop mysqld

[root@node7 ~]# innobackupex --copy-back /backup/2018-04-04_14-00-23/ 基于合并的完全备份做还原数据库

[root@node7 m_data]# chown -R mysql.mysql /backup/m_data/
[root@node7 m_data]# systemctl start mysqld

查看数据是否存在

[root@node7 m_data]# mysql -u root -p
Enter password:

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hellodb |
| mydb |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
6 rows in set (0.01 sec)

mysql> select * from student;
+------+-------+
| id | name |
+------+-------+
| 1 | xiong |
| 2 | hai |
| 3 | hua |
+------+-------+
3 rows in set (0.00 sec)

3)导入或导出单张表

默认情况下,innodb不能通过直接复制表文件的方式在mysql服务器之间进行移植,即使使用innodb_file_per_table选项,使用xtrabackup工具可以实现这个功能

  • 导出表

导出表示在备份的prepare阶段进行的,因此,一旦完全备份完成,就可以在prepare过程中通过--export选项将表导出

[root@node8 ~]# innobackupex --user=bkpuser --password=Aa123321 --socket=/tmp/mysql.sock /backup/ 把这个拷贝到另外一台服务器上

[root@node7 backup]# innobackupex --apply-log --export /backup/2018-04-04_14-27-45/

查看

[root@node7 hellodb]# ll
total 388
-rw-r--r-- 1 root root 432 Apr 4 14:29 course.cfg
-rw-r----- 1 root root 16384 Apr 4 14:29 course.exp
-rw-r----- 1 root root 8590 Apr 4 14:29 course.frm
-rw-r----- 1 root root 98304 Apr 4 14:29 course.ibd
-rw-r----- 1 root root 67 Apr 4 14:29 db.opt
-rw-r--r-- 1 root root 429 Apr 4 14:29 student.cfg
-rw-r----- 1 root root 16384 Apr 4 14:29 student.exp
-rw-r----- 1 root root 8586 Apr 4 14:29 student.frm
-rw-r----- 1 root root 98304 Apr 4 14:29 student.ibd
-rw-r--r-- 1 root root 374 Apr 4 14:29 testdb.cfg
-rw-r----- 1 root root 16384 Apr 4 14:29 testdb.exp
-rw-r----- 1 root root 8556 Apr 4 14:29 testdb.frm
-rw-r----- 1 root root 98304 Apr 4 14:29 testdb.ibd

(然后把exp和ibd文件复制到其他机器上,我这个就在node7上咯)

导入单张表

  • 需要先创建表结构(比如和原来的一样),然后删除原来的表空间

Database changed
mysql> create table course (id int,course char(40));
Query OK, 0 rows affected (0.13 sec)

mysql> alter table course discard tablespace;
Query OK, 0 rows affected (0.02 sec)

[root@node7 ~]# cp /backup/2018-04-04_14-27-45/hellodb/course.exp /backup/m_data/hellodb/
[root@node7 ~]# cp /backup/2018-04-04_14-27-45/hellodb/course.ibd /backup/m_data/hellodb/
[root@node7 ~]# ll /backup/m_data/hellodb/course.*
-rw-r----- 1 root root 16384 Apr 4 14:45 /backup/m_data/hellodb/course.exp
-rw-rw---- 1 mysql mysql 8590 Apr 4 14:44 /backup/m_data/hellodb/course.frm
-rw-r----- 1 root root 98304 Apr 4 14:45 /backup/m_data/hellodb/course.ibd

[root@node7 ~]# chown -R mysql.mysql /backup/m_data/hellodb/

导入表空间

mysql> alter table course import tablespace;
Query OK, 0 rows affected, 1 warning (0.13 sec)

查看,看看数据有没有

mysql> select * from course;
+------+--------+
| id | course |
+------+--------+
| 100 | yuwen |
| 101 | shuxue |
| 102 | yingyu |
+------+--------+
3 rows in set (0.00 sec)

MySQL数据库备份之xtrabackup工具使用的更多相关文章

  1. mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用

    目录 xtrabackup 特点 备份生成的相关文件 xtrabackup 安装 xtrabackup 用法 1 备份 2 预备份 3 还原 4 其他 还原注意事项 xtrabackup实现完全备份及 ...

  2. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  3. MySQL数据库备份详解

    原文:MySQL数据库备份详解 对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据 ...

  4. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

  5. MySQL数据库备份的4种方式

    MySQL备份的4种方式 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 一般.灵活性低 很弱 少量数据备份 mysqldump 慢 慢 一般.可无视存储引擎的差异 一般 ...

  6. MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe

    数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要sel ...

  7. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  8. MySQL数据库备份与还原

    备份数据库 1.使用mysqldump命令备份 备份一个数据库:mysqldump -u 用户名 -p密码 数据库名 [表名1,表名2...]>备份文件路径及名字.sql           如 ...

  9. 【转】10 个MySQL数据库备份教程推荐

    10 个MySQL数据库备份教程推荐 MySQL是动态网站开发中最著名的开源数据库系统.如果你在网站中使用了MySQL,那么你应该定期备份你的数据以防止它丢失. 本文将介绍自动或手动备份MySQL数据 ...

随机推荐

  1. 助教培训第四次作业——熟练掌握GitHub及Git的使用方法

    助教培训第四次作业——熟练掌握GitHub及Git的使用方法 1.Git 命令的理解和使用 常用的Git命令可以查看官方文档,官方文档的网址:https://git-scm.com/docs .虽然是 ...

  2. zookeeper学习(3)----基本结构和命令行操作命令

    一. 数据结构 https://www.jianshu.com/p/8e322462bcca zookeeper存储结构:以树形结构的方式存储数据 ZooKeeper数据模型的结构整体上可以看作是一棵 ...

  3. Paper Reading:Deep Neural Networks for YouTube Recommendations

    论文:Deep Neural Networks for YouTube Recommendations 发表时间:2016 发表作者:(Google)Paul Covington, Jay Adams ...

  4. JDBC课程4--使用PreparedStatement进行增删查改--封装进JDBCTools的功能中;模拟SQL注入 ; sql的date()传入参数值格式!

    主要内容: /*SQL 的date()需要传入参数值: preparedStatement().setDate(new java.util.Date().getTime()); 熟悉了使用Prepar ...

  5. 1128 聚合查询 orm字段及属性

    目录 一 聚合查询 1. 级联 级联删除 级联更新 2. 聚合函数 使用 aggregate 使用场景 3. 分组查询 语法 使用 annotate 代码 4. F与Q查询 F查询 Q查询 二 ORM ...

  6. 11 loader - 配置处理scss文件的loader

    1.装包 cnpm i sass-loader -D peerDependencies WARNING sass-loader@* requires a peer of node-sass@^4.0. ...

  7. [NOI2005]月下柠檬树

    题意 F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser  autoint Logout 捐赠本站 Probl ...

  8. mac上安装Nginx详细教程

    1. 安装(可以用 brew 安装) sudo brew install nginx 2. 查看 nginx 版本 nginx -v 3. 启动 nginx sudo nginx 1也可以使用下面的命 ...

  9. 02-Elenment 引入使用

    快速上手 本节将介绍如何在项目中使用 Element. ¶使用 vue-cli@3 我们为新版的 vue-cli 准备了相应的 Element 插件,你可以用它们快速地搭建一个基于 Element 的 ...

  10. Windows 创建Raid

    Windows 常见raid有0.1和5,以下操作在虚拟机下模拟,学会这招在自己电脑做个raid也未尝不可啊~ 一.RAID 0 创建: 添加两块硬盘,联机并初始化(2T以下选MBR,以上选GPT) ...