• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    使用xtrabackup進行MySQL數據庫物理備份_MySQL

    來源:懂視網 責編:小采 時間:2020-11-09 20:09:31
    文檔

    使用xtrabackup進行MySQL數據庫物理備份_MySQL

    使用xtrabackup進行MySQL數據庫物理備份_MySQL:0. xtrabackup的功能 能實現的功能: 非阻塞備份innodb等事務引擎數據庫、 備份myisam表會阻塞(需要鎖)、 支持全備、增量備份、壓縮備份、 快速增量備份(xtradb,原理類似于oracle:tracking 上次備份之后發生修改的page.)、 pe
    推薦度:
    導讀使用xtrabackup進行MySQL數據庫物理備份_MySQL:0. xtrabackup的功能 能實現的功能: 非阻塞備份innodb等事務引擎數據庫、 備份myisam表會阻塞(需要鎖)、 支持全備、增量備份、壓縮備份、 快速增量備份(xtradb,原理類似于oracle:tracking 上次備份之后發生修改的page.)、 pe

    0. xtrabackup的功能

    能實現的功能:

    非阻塞備份innodb等事務引擎數據庫、

    備份myisam表會阻塞(需要鎖)、

    支持全備、增量備份、壓縮備份、

    快速增量備份(xtradb,原理類似于oracle:tracking 上次備份之后發生修改的page.)、

    percona支持歸檔redo log的備份、

    percona5.6+支持輕量級的backup-lock替代原來重量級的FTWRL,此時即使備份非事務引擎表也不會阻塞innodb的DML語句了、

    支持加密備份、流備份(備份到遠程機器)、并行本地備份、并行壓縮、并行加密、并行應用備份期間產生的redo日志、并行copy-back

    支持部分備份,只備份某個庫,某個表

    支持部分恢復

    支持備份單個表分區

    支持備份速度限制,指備份產生的IO速度的限制

    支持point-in-time恢復

    支持compat備份,也即使不備份索引數據,索引在prepare時--rebuild-indexs

    支持備份buffer pool

    支持單表export, import到其它庫

    支持 rsync 來縮短備份非事務引擎表的鎖定時間

    1. 物理備份需要的權限

    使用innobackupex/xtrabackup進行備份,必須先配置好權限。需要的權限分為兩部分:

    1>系統層面的權限: 執行 innobackupex/xtrabackup 命令的Linux用戶需要對mysql datadir和保存備份的目錄有讀寫執行的權限,當然需要對這些命令要有執行權限;

    2>mysqld層面的權限:innobackupex/xtrabackup --user=bkpuser 該用戶bkpuser是指mysql.user表中的用戶,不是系統層面的用戶;需要一些基本的權限來執行備份過程:

    最基本的權限:

    create user 'bkpuser'@'localhost' identified by 'xxx';

    grant reload,lock tables,replication client on *.* to 'bkpuser'@'localhost';

    這些權限僅僅只能完成:全備,增量備份,恢復;

    一般如果需要部分備份,export表,import表,還需要:grant create tablespace on *.* to 'bkpuser'@'localhost';

    如果還需要對備份的過程中對鎖進行一些優化,防止發生阻塞所有DML的情況,則還需要:

    grant process,super on *.* to 'bkpuser'@'localhost';

    (root@localhost)[(none)]mysql>show grants for 'bkpuser'@'localhost'\G

    *************************** 1. row ***************************

    Grants for bkpuser@localhost: GRANT RELOAD, PROCESS, SUPER, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE ON *.* TO 'bkpuser'@'localhost' IDENTIFIED BY PASSWORD '*BDC62F68AF8F0B8BFAE27FF782C5D8CE9F4BAFCB'

    1 row in set (0.00 sec)

    2. innobackupex 命令選項:

    [root@localhost ~]# innobackupex --help
    Open source backup tool for InnoDB and XtraDB
    [... ...]
    innobackupex - Non-blocking backup tool for InnoDB, XtraDB and HailDB databases
    
    SYNOPOSIS(使用方法)
    
    innobackupex [--compress] [--compress-threads=NUMBER-OF-THREADS] [--compress-chunk-size=CHUNK-SIZE]
     [--encrypt=ENCRYPTION-ALGORITHM] [--encrypt-threads=NUMBER-OF-THREADS] [--encrypt-chunk-size=CHUNK-SIZE]
     [--encrypt-key=LITERAL-ENCRYPTION-KEY] | [--encryption-key-file=MY.KEY]
     [--include=REGEXP] [--user=NAME]
     [--password=WORD] [--port=PORT] [--socket=SOCKET]
     [--no-timestamp] [--ibbackup=IBBACKUP-BINARY]
     [--slave-info] [--galera-info] [--stream=tar|xbstream]
     [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME]
     [--databases=LIST] [--no-lock]
     [--tmpdir=DIRECTORY] [--tables-file=FILE]
     [--history=NAME]
     [--incremental] [--incremental-basedir]
     [--incremental-dir] [--incremental-force-scan] [--incremental-lsn]
     [--incremental-history-name=NAME] [--incremental-history-uuid=UUID]
     [--close-files] [--compact]
     BACKUP-ROOT-DIR
    
    innobackupex --apply-log [--use-memory=B]
     [--defaults-file=MY.CNF]
     [--export] [--redo-only] [--ibbackup=IBBACKUP-BINARY]
     BACKUP-DIR
    
    innobackupex --copy-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR
    
    innobackupex --move-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR
    
    innobackupex [--decompress] [--decrypt=ENCRYPTION-ALGORITHM]
     [--encrypt-key=LITERAL-ENCRYPTION-KEY] | [--encryption-key-file=MY.KEY]
     [--parallel=NUMBER-OF-FORKS] BACKUP-DIR
    
    DESCRIPTION
    
    The first command line above makes a hot backup of a MySQL database.
    By default it creates a backup directory (named by the current date
     and time) in the given backup root directory. With the --no-timestamp
    option it does not create a time-stamped backup directory, but it puts
    the backup in the given directory (which must not exist). This
    command makes a complete backup of all MyISAM and InnoDB tables and
    indexes in all databases or in all of the databases specified with the
    --databases option. The created backup contains .frm, .MRG, .MYD,
    .MYI, .MAD, .MAI, .TRG, .TRN, .ARM, .ARZ, .CSM, CSV, .opt, .par, and
    InnoDB data and log files. The MY.CNF options file defines the
    location of the database. This command connects to the MySQL server
    using the mysql client program, and runs xtrabackup as a child
    process.
    
    The --apply-log command prepares a backup for starting a MySQL
    server on the backup. This command recovers InnoDB data files as specified
    in BACKUP-DIR/backup-my.cnf using BACKUP-DIR/xtrabackup_logfile,
    and creates new InnoDB log files as specified in BACKUP-DIR/backup-my.cnf.
    The BACKUP-DIR should be the path to a backup directory created by
    xtrabackup. This command runs xtrabackup as a child process, but it does not
    connect to the database server.
    
    The --copy-back command copies data, index, and log files
    from the backup directory back to their original locations.
    The MY.CNF options file defines the original location of the database.
    The BACKUP-DIR is the path to a backup directory created by xtrabackup.
    
    The --move-back command is similar to --copy-back with the only difference that
    it moves files to their original locations rather than copies them. As this
    option removes backup files, it must be used with caution. It may be useful in
    cases when there is not enough free disk space to copy files.
    
    The --decompress --decrypt command will decrypt and/or decompress a backup made
    with the --compress and/or --encrypt options. When decrypting, the encryption
    algorithm and key used when the backup was taken MUST be provided via the
    specified options. --decrypt and --decompress may be used together at the same
    time to completely normalize a previously compressed and encrypted backup. The
    --parallel option will allow multiple files to be decrypted and/or decompressed
    simultaneously. In order to decompress, the qpress utility MUST be installed
    and accessable within the path. This process will remove the original
    compressed/encrypted files and leave the results in the same location.
    
    On success the exit code innobackupex is 0. A non-zero exit code
    indicates an error.
    
    Usage: [innobackupex [--defaults-file=#] --backup | innobackupex [--defaults-file=#] --prepare] [OPTIONS]
     -v, --version print xtrabackup version information
     -?, --help This option displays a help screen and exits.
     --apply-log Prepare a backup in BACKUP-DIR by applying the
     transaction log file named "xtrabackup_logfile" located
     in the same directory. Also, create new transaction logs.
     The InnoDB configuration is read from the file
     "backup-my.cnf".
     --redo-only This option should be used when preparing the base full
     backup and when merging all incrementals except the last
     one. This forces xtrabackup to skip the "rollback" phase
     and do a "redo" only. This is necessary if the backup
     will have incremental changes applied to it later. See
     the xtrabackup documentation for details.
     --copy-back Copy all the files in a previously made backup from the
     backup directory to their original locations.
     --move-back Move all the files in a previously made backup from the
     backup directory to the actual datadir location. Use with
     caution, as it removes backup files.
     --galera-info This options creates the xtrabackup_galera_info file
     which contains the local node state at the time of the
     backup. Option should be used when performing the backup
     of Percona-XtraDB-Cluster. Has no effect when backup
     locks are used to create the backup.
     --slave-info This option is useful when backing up a replication slave
     server. It prints the binary log position and name of the
     master server. It also writes this information to the
     "xtrabackup_slave_info" file as a "CHANGE MASTER"
     command. A new slave for this master can be set up by
     starting a slave server on this backup and issuing a
     "CHANGE MASTER" command with the binary log position
     saved in the "xtrabackup_slave_info" file.
     --incremental This option tells xtrabackup to create an incremental
     backup, rather than a full one. It is passed to the
     xtrabackup child process. When this option is specified,
     either --incremental-lsn or --incremental-basedir can
     also be given. If neither option is given, option
     --incremental-basedir is passed to xtrabackup by default,
     set to the first timestamped backup directory in the
     backup base directory.
     --no-lock Use this option to disable table lock with "FLUSH TABLES
     WITH READ LOCK". Use it only if ALL your tables are
     InnoDB and you DO NOT CARE about the binary log position
     of the backup. This option shouldn't be used if there are
     any DDL statements being executed or if any updates are
     happening on non-InnoDB tables (this includes the system
     MyISAM tables in the mysql database), otherwise it could
     lead to an inconsistent backup. If you are considering to
     use --no-lock because your backups are failing to acquire
     the lock, this could be because of incoming replication
     events preventing the lock from succeeding. Please try
     using --safe-slave-backup to momentarily stop the
     replication slave thread, this may help the backup to
     succeed and you then don't need to resort to using this
     option.
     --safe-slave-backup Stop slave SQL thread and wait to start backup until
     Slave_open_temp_tables in "SHOW STATUS" is zero. If there
     are no open temporary tables, the backup will take place,
     otherwise the SQL thread will be started and stopped
     until there are no open temporary tables. The backup will
     fail if Slave_open_temp_tables does not become zero after
     --safe-slave-backup-timeout seconds. The slave SQL thread
     will be restarted when the backup finishes.
     --rsync Uses the rsync utility to optimize local file transfers.
     When this option is specified, innobackupex uses rsync to
     copy all non-InnoDB files instead of spawning a separate
     cp for each file, which can be much faster for servers
     with a large number of databases or tables. This option
     cannot be used together with --stream.
     --force-non-empty-directories
     This option, when specified, makes --copy-back or
     --move-back transfer files to non-empty directories. Note
     that no existing files will be overwritten. If
     --copy-back or --nove-back has to copy a file from the
     backup directory which already exists in the destination
     directory, it will still fail with an error.
     --no-timestamp This option prevents creation of a time-stamped
     subdirectory of the BACKUP-ROOT-DIR given on the command
     line. When it is specified, the backup is done in
     BACKUP-ROOT-DIR instead.
     --no-version-check This option disables the version check which is enabled
     by the --version-check option.
     --no-backup-locks This option controls if backup locks should be used
     instead of FLUSH TABLES WITH READ LOCK on the backup
     stage. The option has no effect when backup locks are not
     supported by the server. This option is enabled by
     default, disable with --no-backup-locks.
     --decompress Decompresses all files with the .qp extension in a backup
     previously made with the --compress option.
     --user=name This option specifies the MySQL username used when
     connecting to the server, if that's not the current user.
     The option accepts a string argument. See mysql --help
     for details.
     --host=name This option specifies the host to use when connecting to
     the database server with TCP/IP. The option accepts a
     string argument. See mysql --help for details.
     --port=# This option specifies the port to use when connecting to
     the database server with TCP/IP. The option accepts a
     string argument. See mysql --help for details.
     --password=name This option specifies the password to use when connecting
     to the database. It accepts a string argument. See mysql
     --help for details.
     --socket=name This option specifies the socket to use when connecting
     to the local database server with a UNIX domain socket.
     The option accepts a string argument. See mysql --help
     for details.
     --incremental-history-name=name
     This option specifies the name of the backup series
     stored in the PERCONA_SCHEMA.xtrabackup_history history
     record to base an incremental backup on. Xtrabackup will
     search the history table looking for the most recent
     (highest innodb_to_lsn), successful backup in the series
     and take the to_lsn value to use as the starting lsn for
     the incremental backup. This will be mutually exclusive
     with --incremental-history-uuid, --incremental-basedir
     and --incremental-lsn. If no valid lsn can be found (no
     series by that name, no successful backups by that name)
     xtrabackup will return with an error. It is used with the
     --incremental option.
     --incremental-history-uuid=name
     This option specifies the UUID of the specific history
     record stored in the PERCONA_SCHEMA.xtrabackup_history to
     base an incremental backup on.
     --incremental-history-name, --incremental-basedir and
     --incremental-lsn. If no valid lsn can be found (no
     success record with that uuid) xtrabackup will return
     with an error. It is used with the --incremental option.
     --decrypt=name Decrypts all files with the .xbcrypt extension in a
     backup previously made with --encrypt option.
     --ftwrl-wait-query-type=name
     This option specifies which types of queries are allowed
     to complete before innobackupex will issue the global
     lock. Default is all.
     --kill-long-query-type=name
     This option specifies which types of queries should be
     killed to unblock the global lock. Default is "all".
     --history[=name] This option enables the tracking of backup history in the
     PERCONA_SCHEMA.xtrabackup_history table. An optional
     history series name may be specified that will be placed
     with the history record for the current backup being
     taken.
     --include=name This option is a regular expression to be matched against
     table names in databasename.tablename format. It is
     passed directly to xtrabackup's --tables option. See the
     xtrabackup documentation for details.
     --databases=name This option specifies the list of databases that
     innobackupex should back up. The option accepts a string
     argument or path to file that contains the list of
     databases to back up. The list is of the form
     "databasename1[.table_name1] databasename2[.table_name2]
     . . .". If this option is not specified, all databases
     containing MyISAM and InnoDB tables will be backed up.
     Please make sure that --databases contains all of the
     InnoDB databases and tables, so that all of the
     innodb.frm files are also backed up. In case the list is
     very long, this can be specified in a file, and the full
     path of the file can be specified instead of the list.
     (See option --tables-file.)
     --kill-long-queries-timeout=#
     This option specifies the number of seconds innobackupex
     waits between starting FLUSH TABLES WITH READ LOCK and
     killing those queries that block it. Default is 0
     seconds, which means innobackupex will not attempt to
     kill any queries.
     --ftwrl-wait-timeout=#
     This option specifies time in seconds that innobackupex
     should wait for queries that would block FTWRL before
     running it. If there are still such queries when the
     timeout expires, innobackupex terminates with an error.
     Default is 0, in which case innobackupex does not wait
     for queries to complete and starts FTWRL immediately.
     --ftwrl-wait-threshold=#
     This option specifies the query run time threshold which
     is used by innobackupex to detect long-running queries
     with a non-zero value of --ftwrl-wait-timeout. FTWRL is
     not started until such long-running queries exist. This
     option has no effect if --ftwrl-wait-timeout is 0.
     Default value is 60 seconds.
     --debug-sleep-before-unlock=#
     This is a debug-only option used by the XtraBackup test
     suite.
     --safe-slave-backup-timeout=#
     How many seconds --safe-slave-backup should wait for
     Slave_open_temp_tables to become zero. (default 300)
     --close-files Do not keep files opened. This option is passed directly
     to xtrabackup. Use at your own risk.
     --compact Create a compact backup with all secondary index pages
     omitted. This option is passed directly to xtrabackup.
     See xtrabackup documentation for details.
     --compress[=name] This option instructs xtrabackup to compress backup
     copies of InnoDB data files. It is passed directly to the
     xtrabackup child process. Try 'xtrabackup --help' for
     more details.
     --compress-threads=#
     This option specifies the number of worker threads that
     will be used for parallel compression. It is passed
     directly to the xtrabackup child process. Try 'xtrabackup
     --help' for more details.
     --compress-chunk-size=#
     Size of working buffer(s) for compression threads in
     bytes. The default value is 64K.
     --encrypt=name This option instructs xtrabackup to encrypt backup copies
     of InnoDB data files using the algorithm specified in the
     ENCRYPTION-ALGORITHM. It is passed directly to the
     xtrabackup child process. Try 'xtrabackup --help' for
     more details.
     --encrypt-key=name This option instructs xtrabackup to use the given
     ENCRYPTION-KEY when using the --encrypt or --decrypt
     options. During backup it is passed directly to the
     xtrabackup child process. Try 'xtrabackup --help' for
     more details.
     --encrypt-key-file=name
     This option instructs xtrabackup to use the encryption
     key stored in the given ENCRYPTION-KEY-FILE when using
     the --encrypt or --decrypt options.
     --encrypt-threads=# This option specifies the number of worker threads that
     will be used for parallel encryption. It is passed
     directly to the xtrabackup child process. Try 'xtrabackup
     --help' for more details.
     --encrypt-chunk-size=#
     This option specifies the size of the internal working
     buffer for each encryption thread, measured in bytes. It
     is passed directly to the xtrabackup child process. Try
     'xtrabackup --help' for more details.
     --export This option is passed directly to xtrabackup's --export
     option. It enables exporting individual tables for import
     into another server. See the xtrabackup documentation for
     details.
     --extra-lsndir=name This option specifies the directory in which to save an
     extra copy of the "xtrabackup_checkpoints" file. The
     option accepts a string argument. It is passed directly
     to xtrabackup's --extra-lsndir option. See the xtrabackup
     documentation for details.
     --incremental-basedir=name
     This option specifies the directory containing the full
     backup that is the base dataset for the incremental
     backup. The option accepts a string argument. It is used
     with the --incremental option.
     --incremental-dir=name
     This option specifies the directory where the incremental
     backup will be combined with the full backup to make a
     new full backup. The option accepts a string argument.
     It is used with the --incremental option.
     --incremental-force-scan
     This options tells xtrabackup to perform full scan of
     data files for taking an incremental backup even if full
     changed page bitmap data is available to enable the
     backup without the full scan.
     --log-copy-interval=#
     This option specifies time interval between checks done
     by log copying thread in milliseconds.
     --incremental-lsn=name
     This option specifies the log sequence number (LSN) to
     use for the incremental backup. The option accepts a
     string argument. It is used with the --incremental
     option. It is used instead of specifying
     --incremental-basedir. For databases created by MySQL and
     Percona Server 5.0-series versions, specify the LSN as
     two 32-bit integers in high:low format. For databases
     created in 5.1 and later, specify the LSN as a single
     64-bit integer.
     --parallel=# On backup, this option specifies the number of threads
     the xtrabackup child process should use to back up files
     concurrently. The option accepts an integer argument. It
     is passed directly to xtrabackup's --parallel option. See
     the xtrabackup documentation for details.
     --rebuild-indexes This option only has effect when used together with the
     --apply-log option and is passed directly to xtrabackup.
     When used, makes xtrabackup rebuild all secondary indexes
     after applying the log. This option is normally used to
     prepare compact backups. See the XtraBackup manual for
     more information.
     --rebuild-threads=# Use this number of threads to rebuild indexes in a
     compact backup. Only has effect with --prepare and
     --rebuild-indexes.
     --stream=name This option specifies the format in which to do the
     streamed backup. The option accepts a string argument.
     The backup will be done to STDOUT in the specified
     format. Currently, the only supported formats are tar and
     xbstream. This option is passed directly to xtrabackup's
     --stream option.
     --tables-file=name This option specifies the file in which there are a list
     of names of the form database. The option accepts a
     string argument.table, one per line. The option is passed
     directly to xtrabackup's --tables-file option.
     --throttle=# This option specifies a number of I/O operations (pairs
     of read+write) per second. It accepts an integer
     argument. It is passed directly to xtrabackup's
     --throttle option.
     -t, --tmpdir=name This option specifies the location where a temporary
     files will be stored. If the option is not specified, the
     default is to use the value of tmpdir read from the
     server configuration.
     --use-memory=# This option accepts a string argument that specifies the
     amount of memory in bytes for xtrabackup to use for crash
     recovery while preparing a backup. Multiples are
     supported providing the unit (e.g. 1MB, 1GB). It is used
     only with the option --apply-log. It is passed directly
     to xtrabackup's --use-memory option. See the xtrabackup
     documentation for details.
    [root@localhost ~]#

    3. 使用 innobackupex 備份

    3.1 全備

    (這里系統層面使用的root用戶備份,msyql層面使用的是bkpuser用戶,root需要對datadir /var/lib/mysql, 備份目錄/backup/xtrabackup/full有讀寫執行權限;bkpuser也需在mysql中有相關權限)

    [root@localhost ~]# innobackupex /backup/xtrabackup/full --user=bkpuser --password=digdeep

    [root@localhost ~]# innobackupex /backup/xtrabackup/full --user=bkpuser --password=digdeep
    151105 22:38:55 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!".
    
    151105 22:38:55 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).
    151105 22:38:56 version_check Connected to MySQL server
    151105 22:38:56 version_check Executing a version check against the server...
    151105 22:38:56 version_check Done.
    151105 22:38:56 Connecting to MySQL server host: localhost, user: bkpuser, password: set, port: 0, socket: /tmp/mysql.sock
    Using server version 5.6.26-log
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    xtrabackup: uses posix_fadvise().
    xtrabackup: cd to /var/lib/mysql
    xtrabackup: open files limit requested 0, set to 10240
    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 = 50331648
    151105 22:38:56 >> log scanned up to (731470240)
    xtrabackup: Generating a list of tablespaces
    151105 22:38:56 [01] Copying ./ibdata1 to /backup/xtrabackup/full/2015-11-05_22-38-55/ibdata1
    151105 22:38:57 >> log scanned up to (731470240)
    151105 22:38:58 >> log scanned up to (731470240)
    151105 22:38:58 [01] ...done
    151105 22:38:58 [01] Copying ./mysql/slave_master_info.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/slave_master_info.ibd
    151105 22:38:58 [01] ...done
    151105 22:38:58 [01] Copying ./mysql/innodb_index_stats.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/innodb_index_stats.ibd
    151105 22:38:58 [01] ...done
    [... ...]
    151105 22:38:59 [01] Copying ./aazj/group_union.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/group_union.ibd
    151105 22:38:59 [01] ...done
    151105 22:38:59 [01] Copying ./aazj/SYS_PARAM.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/SYS_PARAM.ibd
    151105 22:38:59 >> log scanned up to (731470240)
    151105 22:38:59 [01] ...done
    151105 22:38:59 [01] Copying ./aazj/GroupBlog.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/GroupBlog.ibd
    151105 22:38:59 [01] ...done
    [... ...]
    151105 22:39:01 [01] Copying ./aazj/Accounting_paylog.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/Accounting_paylog.ibd
    151105 22:39:01 [01] ...done
    151105 22:39:01 [01] Copying ./aazj/Customer.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/Customer.ibd
    151105 22:39:01 [01] ...done
    151105 22:39:01 [01] Copying ./aazj/uuu.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/uuu.ibd
    151105 22:39:02 >> log scanned up to (731634905)
    151105 22:39:03 >> log scanned up to (731634905)
    151105 22:39:04 >> log scanned up to (731634905)
    151105 22:39:04 [01] ...done
    151105 22:39:04 [01] Copying ./aazj/Members.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/Members.ibd
    151105 22:39:05 [01] ...done
    151105 22:39:05 [01] Copying ./aazj/tttt.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/tttt.ibd
    151105 22:39:05 [01] ...done
    151105 22:39:05 [01] Copying ./aazj/uu_test.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/uu_test.ibd
    151105 22:39:05 >> log scanned up to (731634905)
    151105 22:39:06 >> log scanned up to (731685874)
    151105 22:39:07 >> log scanned up to (731686008)
    151105 22:39:08 >> log scanned up to (731686008)
    151105 22:39:08 [01] ...done
    151105 22:39:08 [01] Copying ./aazj/Mess_Receive.ibd to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/Mess_Receive.ibd
    151105 22:39:09 [01] ...done
    [... ...]
    151105 22:39:09 >> log scanned up to (731686008)
    Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
    151105 22:39:09 Executing FLUSH TABLES WITH READ LOCK...
    151105 22:39:09 Starting to backup non-InnoDB tables and files
    151105 22:39:09 [01] Copying ./mysql/columns_priv.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/columns_priv.frm
    151105 22:39:09 [01] ...done
    151105 22:39:09 [01] Copying ./mysql/user.MYI to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/user.MYI
    151105 22:39:09 [01] ...done
    [... ...]
    151105 22:39:10 [01] Copying ./mysql/help_category.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/help_category.frm
    151105 22:39:10 [01] ...done
    151105 22:39:10 >> log scanned up to (731686008)
    151105 22:39:10 [01] Copying ./mysql/proc.MYD to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/proc.MYD
    151105 22:39:10 [01] ...done
    [... ...]
    151105 22:39:10 [01] ...done
    151105 22:39:10 [01] Copying ./mysql/proxies_priv.MYI to /backup/xtrabackup/full/2015-11-05_22-38-55/mysql/proxies_priv.MYI
    151105 22:39:10 [01] ...done
    151105 22:39:10 [01] Copying ./aazj/model_order.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/model_order.frm
    151105 22:39:10 [01] ...done
    151105 22:39:10 [01] Copying ./aazj/Comment.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/aazj/Comment.frm
    151105 22:39:10 [01] ...done
    [... ...]
    151105 22:39:11 [01] Copying ./performance_schema/events_waits_summary_by_host_by_event_name.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/performance_schema/events_waits_summary_by_host_by_event_name.frm
    151105 22:39:11 [01] ...done
    [... ...]
    151105 22:39:11 [01] Copying ./performance_schema/events_statements_summary_by_account_by_event_name.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/performance_schema/events_statements_summary_by_account_by_event_name.frm
    151105 22:39:11 [01] ...done
    151105 22:39:11 [01] Copying ./t/city.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/t/city.frm
    151105 22:39:11 [01] ...done
    151105 22:39:11 [01] Copying ./t/db.opt to /backup/xtrabackup/full/2015-11-05_22-38-55/t/db.opt
    151105 22:39:11 [01] ...done
    151105 22:39:11 [01] Copying ./t/t.frm to /backup/xtrabackup/full/2015-11-05_22-38-55/t/t.frm
    151105 22:39:11 [01] ...done
    151105 22:39:11 Finished backing up non-InnoDB tables and files
    151105 22:39:11 [00] Writing xtrabackup_binlog_info
    151105 22:39:11 [00] ...done
    151105 22:39:11 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
    xtrabackup: The latest check point (for incremental): '731686008'
    xtrabackup: Stopping log copying thread.
    .151105 22:39:11 >> log scanned up to (731686008)
    
    151105 22:39:11 Executing UNLOCK TABLES
    151105 22:39:11 All tables unlocked
    151105 22:39:11 Backup created in directory '/backup/xtrabackup/full/2015-11-05_22-38-55'
    MySQL binlog position: filename 'mysql-bin.000015', position '117940'
    151105 22:39:11 [00] Writing backup-my.cnf
    151105 22:39:11 [00] ...done
    151105 22:39:11 [00] Writing xtrabackup_info
    151105 22:39:11 [00] ...done
    xtrabackup: Transaction log of lsn (731470240) to (731686008) was copied.
    151105 22:39:11 completed OK!

    3.2 恢復

    1> 第一步prepare(兩次prepare,第一次應用備份期間產生的redo log,進行前滾和回滾:replay在redo log中已經提交的事務,rollback沒有提交的事務)

    注意這里的路徑,必須要包括最后那個timestamp目錄,不然會下面的錯誤:



    [root@localhost ~]# innobackupex --apply-log /backup/xtrabackup/full/ --user=bkpuser --password=digdeep
    151106 10:41:48 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!".
    
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    xtrabackup: cd to /backup/xtrabackup/full
    xtrabackup: Error: cannot open ./xtrabackup_checkpoints
    xtrabackup: error: xtrabackup_read_metadata()
    xtrabackup: This target seems not to have correct metadata...
    2015-11-06 10:41:48 b771e6d0 InnoDB: Operating system error number 2 in a file operation.
    InnoDB: The error means the system cannot find the path specified.
    xtrabackup: Warning: cannot open ./xtrabackup_logfile. will try to find.
    2015-11-06 10:41:48 b771e6d0 InnoDB: Operating system error number 2 in a file operation.
    InnoDB: The error means the system cannot find the path specified.
     xtrabackup: Fatal error: cannot find ./xtrabackup_logfile.
    xtrabackup: Error: xtrabackup_init_temp_log() failed.

    --apply-log會調用 xtrabackup --prepare兩次,第一次前滾和回滾,第二次生成iblogfile[0|1]

    [root@localhost ~]# innobackupex --apply-log /backup/xtrabackup/full/2015-11-05_22-38-55/ --user=bkpuser --password=digdeep

    [root@localhost ~]# innobackupex --apply-log /backup/xtrabackup/full/2015-11-05_22-38-55/ --user=bkpuser --password=digdeep 
    151106 10:43:32 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!".
    
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    xtrabackup: cd to /backup/xtrabackup/full/2015-11-05_22-38-55/
    xtrabackup: This target seems to be not prepared yet.
    xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(731470240)
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = ./
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = ./
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: Starting InnoDB instance for recovery.
    xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
    InnoDB: Using atomics to ref count buffer pool pages
    InnoDB: The InnoDB memory heap is disabled
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Memory barrier is not used
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Not using CPU crc32 instructions
    InnoDB: Initializing buffer pool, size = 100.0M
    InnoDB: Completed initialization of buffer pool
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: Log scan progressed past the checkpoint lsn 731470240
    InnoDB: Database was not shutdown normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages
    InnoDB: from the doublewrite buffer...
    InnoDB: Doing recovery: scanned up to log sequence number 731686008 (11%)
    InnoDB: Starting an apply batch of log records to the database...
    InnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    InnoDB: Apply batch completed
    InnoDB: 128 rollback segment(s) are active.
    InnoDB: Waiting for purge to start
    InnoDB: 5.6.24 started; log sequence number 731686008
    xtrabackup: Last MySQL binlog file position 117940, file name mysql-bin.000015 ()
    
    xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: FTS optimize thread exiting.
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 731724574
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = ./
    xtrabackup: innodb_log_files_in_group = 2
    xtrabackup: innodb_log_file_size = 50331648
    InnoDB: Using atomics to ref count buffer pool pages
    InnoDB: The InnoDB memory heap is disabled
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Memory barrier is not used
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Not using CPU crc32 instructions
    InnoDB: Initializing buffer pool, size = 100.0M
    InnoDB: Completed initialization of buffer pool
    InnoDB: Setting log file ./ib_logfile101 size to 48 MB
    InnoDB: Setting log file ./ib_logfile1 size to 48 MB
    InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
    InnoDB: New log files created, LSN=731724574
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: 128 rollback segment(s) are active.
    InnoDB: Waiting for purge to start
    InnoDB: 5.6.24 started; log sequence number 731724812
    xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: FTS optimize thread exiting.
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 731724822
    151106 10:43:40 completed OK!
    [root@localhost ~]#

    3.3 恢復 --copy-back

    直接將上面prepare好的所有文件,復制到mysqld的datadir目錄(會讀取my.cnf中的配置信息)。

    --copy--back的注意事項:

    1> datadir必須是空的,或者使用--force-non-empty-directories選項;

    2> mysqld必須關閉,如果是--import部分恢復,則不能關閉;

    3> --copy-back完成之后,需要修改datadir目錄下的文件權限: chown -R mysql:mysql /var/lib/mysql

    [root@localhost ~]# mysqladmin -uroot -pxxx shutdown (關閉mysqld)

    [root@localhost ~]# cd /var/lib/mysql

    [root@localhost mysql]# ls

    aazj ib_logfile1 mysql-bin.000003 mysql-bin.000008 mysql-bin.000013 performance_schema

    auto.cnf localhost-slow.log mysql-bin.000004 mysql-bin.000009 mysql-bin.000014 t

    general.log mysql mysql-bin.000005 mysql-bin.000010 mysql-bin.000015 xtrabackup_binlog_pos_innodb

    ibdata1 mysql-bin.000001 mysql-bin.000006 mysql-bin.000011 mysql-bin.000016 xtrabackup_info

    ib_logfile0 mysql-bin.000002 mysql-bin.000007 mysql-bin.000012 mysql-bin.index

    [root@localhost mysql]# mv * /backup/xtrabackup/ (進行清空)

    [root@localhost mysql]# ls

    [root@localhost mysql]# innobackupex --copy-back /backup/xtrabackup/full/2015-11-05_22-38-55/ --user=bkpuser --password=digdeep 
    
    [root@localhost mysql]# innobackupex --copy-back /backup/xtrabackup/full/2015-11-05_22-38-55/ --user=bkpuser --password=digdeep 
    151106 11:07:38 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!".
    
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    151106 11:07:38 [01] Copying ib_logfile0 to /var/lib/mysql/ib_logfile0
    151106 11:07:40 [01] ...done
    151106 11:07:40 [01] Copying ib_logfile1 to /var/lib/mysql/ib_logfile1
    151106 11:07:41 [01] ...done
    151106 11:07:41 [01] Copying ibdata1 to /var/lib/mysql/ibdata1
    151106 11:07:45 [01] ...done
    151106 11:07:45 [01] Copying ./xtrabackup_info to /var/lib/mysql/xtrabackup_info
    151106 11:07:45 [01] ...done
    151106 11:07:45 [01] Copying ./mysql/slave_master_info.ibd to /var/lib/mysql/mysql/slave_master_info.ibd
    151106 11:07:45 [01] ...done
    [... ...]
    151106 11:07:57 [01] Copying ./t/db.opt to /var/lib/mysql/t/db.opt
    151106 11:07:57 [01] ...done
    151106 11:07:57 [01] Copying ./t/t.frm to /var/lib/mysql/t/t.frm
    151106 11:07:57 [01] ...done
    151106 11:07:57 completed OK!
    [root@localhost mysql]# pwd
    /var/lib/mysql
    [root@localhost mysql]# ls
    aazj ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema t xtrabackup_binlog_pos_innodb xtrabackup_info

    可以看到恢復之后,沒有 binlog 文件盒index文件

    啟動myqld之前需要修改權限:

    [root@localhost mysql]# ls -l
    total 176164
    drwx------ 2 root root 4096 Nov 6 11:07 aazj
    -rw-rw---- 1 mysql mysql 543 Nov 6 11:13 general.log
    -rw-r----- 1 root root 79691776 Nov 6 11:07 ibdata1
    -rw-r----- 1 root root 50331648 Nov 6 11:07 ib_logfile0
    -rw-r----- 1 root root 50331648 Nov 6 11:07 ib_logfile1
    -rw-rw---- 1 mysql mysql 543 Nov 6 11:13 localhost-slow.log
    drwx------ 2 root root 4096 Nov 6 11:07 mysql
    -rw-rw---- 1 mysql mysql 0 Nov 6 11:12 mysql-bin.index
    drwx------ 2 root root 4096 Nov 6 11:07 performance_schema
    drwx------ 2 root root 4096 Nov 6 11:07 t
    -rw-r----- 1 root root 24 Nov 6 11:07 xtrabackup_binlog_pos_innodb
    -rw-r----- 1 root root 487 Nov 6 11:07 xtrabackup_info
    [root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql
    [root@localhost mysql]# ls -l
    total 176164
    drwx------ 2 mysql mysql 4096 Nov 6 11:07 aazj
    -rw-rw---- 1 mysql mysql 543 Nov 6 11:13 general.log
    -rw-r----- 1 mysql mysql 79691776 Nov 6 11:07 ibdata1
    -rw-r----- 1 mysql mysql 50331648 Nov 6 11:07 ib_logfile0
    -rw-r----- 1 mysql mysql 50331648 Nov 6 11:07 ib_logfile1
    -rw-rw---- 1 mysql mysql 543 Nov 6 11:13 localhost-slow.log
    drwx------ 2 mysql mysql 4096 Nov 6 11:07 mysql
    -rw-rw---- 1 mysql mysql 0 Nov 6 11:12 mysql-bin.index
    drwx------ 2 mysql mysql 4096 Nov 6 11:07 performance_schema
    drwx------ 2 mysql mysql 4096 Nov 6 11:07 t
    -rw-r----- 1 mysql mysql 24 Nov 6 11:07 xtrabackup_binlog_pos_innodb
    -rw-r----- 1 mysql mysql 487 Nov 6 11:07 xtrabackup_info

    不然啟動會在error.log中報錯:

    2015-11-06 11:13:55 3542 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode

    2015-11-06 11:13:55 3542 [ERROR] InnoDB: The system tablespace must be writable!

    2015-11-06 11:13:55 3542 [ERROR] Plugin 'InnoDB' init function returned error.

    2015-11-06 11:13:55 3542 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

    2015-11-06 11:13:55 3542 [ERROR] Unknown/unsupported storage engine: InnoDB

    2015-11-06 11:13:55 3542 [ERROR] Aborting

    啟動成功之后,datadir目錄下各種文件都產生了:

    [root@localhost mysql]# pwd

    /var/lib/mysql

    [root@localhost mysql]# ls

    aazj general.log ib_logfile0 localhost-slow.log mysql-bin.000001 performance_schema xtrabackup_binlog_pos_innodb

    auto.cnf ibdata1 ib_logfile1 mysql mysql-bin.index t xtrabackup_info

    3.4 innobackupex 增量備份

    增量備份之前,必須建立一個全備,第一次增量備份是在全備的基礎之上,第二次增量備份是在第一次增量備份的基礎之上的,一次類推

    全備:

    [root@localhost mysql]# innobackupex --user=bkpuser --password=digdeep /backup/xtrabackup/full

    [root@localhost mysql]# innobackupex --user=bkpuser --password=digdeep /backup/xtrabackup/full
    第一次增量備份:
    --incremental /backup/xtrabackup/incr1/ 指定增量備份的位置;
    --incremental-basedir=指定上一次的全備或者增量備份:
    [root@localhost mysql]# innobackupex --incremental /backup/xtrabackup/incr1/ --incremental-basedir=/backup/xtrabackup/full/2015-11-06_11-29-51/ --user=bkpuser --password=digdeep 
    151106 11:33:16 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!".
    
    151106 11:33:16 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).
    151106 11:33:16 version_check Connected to MySQL server
    151106 11:33:16 version_check Executing a version check against the server...
    151106 11:33:16 version_check Done.
    151106 11:33:16 Connecting to MySQL server host: localhost, user: bkpuser, password: set, port: 0, socket: /tmp/mysql.sock
    Using server version 5.6.26-log
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    incremental backup from 731724832 is enabled.
    xtrabackup: uses posix_fadvise().
    xtrabackup: cd to /var/lib/mysql
    xtrabackup: open files limit requested 0, set to 10240
    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 = 50331648
    151106 11:33:16 >> log scanned up to (732153217)
    xtrabackup: Generating a list of tablespaces
    xtrabackup: using the full scan for incremental backup
    151106 11:33:17 [01] Copying ./ibdata1 to /backup/xtrabackup/incr1//2015-11-06_11-33-16/ibdata1.delta
    151106 11:33:17 >> log scanned up to (732153217)
    151106 11:33:18 [01] ...done
    151106 11:33:18 >> log scanned up to (732153217)
    151106 11:33:18 [01] Copying ./mysql/slave_master_info.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/mysql/slave_master_info.ibd.delta
    151106 11:33:18 [01] ...done
    151106 11:33:19 >> log scanned up to (732153217)
    [... ...]
    151106 11:33:30 [01] Copying ./aazj/Configuration.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/aazj/Configuration.ibd.delta
    151106 11:33:30 [01] ...done
    151106 11:33:31 [01] Copying ./aazj/lx_test.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/aazj/lx_test.ibd.delta
    151106 11:33:31 >> log scanned up to (732231774)
    151106 11:33:32 [01] ...done
    151106 11:33:32 >> log scanned up to (732231774)
    151106 11:33:32 [01] Copying ./aazj/Users.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/aazj/Users.ibd.delta
    151106 11:33:32 [01] ...done
    [... ...]
    151106 11:33:42 [01] Copying ./aazj/tttt.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/aazj/tttt.ibd.delta
    151106 11:33:42 [01] ...done
    151106 11:33:42 >> log scanned up to (732501432)
    151106 11:33:42 [01] Copying ./aazj/uu_test.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/aazj/uu_test.ibd.delta
    [... ...]
    151106 11:33:47 [01] Copying ./t/t.ibd to /backup/xtrabackup/incr1//2015-11-06_11-33-16/t/t.ibd.delta
    151106 11:33:48 [01] ...done
    151106 11:33:48 >> log scanned up to (732501432)
    Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
    151106 11:33:48 Executing FLUSH TABLES WITH READ LOCK...
    151106 11:33:48 Starting to backup non-InnoDB tables and files
    151106 11:33:48 [01] Copying ./mysql/columns_priv.frm to /backup/xtrabackup/incr1//2015-11-06_11-33-16/mysql/columns_priv.frm
    151106 11:33:48 [01] ...done
    [... ...]
    151106 11:33:51 [01] Copying ./t/t.frm to /backup/xtrabackup/incr1//2015-11-06_11-33-16/t/t.frm
    151106 11:33:51 [01] ...done
    151106 11:33:51 Finished backing up non-InnoDB tables and files
    151106 11:33:51 [00] Writing xtrabackup_binlog_info
    151106 11:33:51 [00] ...done
    151106 11:33:51 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
    xtrabackup: The latest check point (for incremental): '732501432'
    xtrabackup: Stopping log copying thread.
    .151106 11:33:51 >> log scanned up to (732501432)
    
    151106 11:33:51 Executing UNLOCK TABLES
    151106 11:33:51 All tables unlocked
    151106 11:33:51 Backup created in directory '/backup/xtrabackup/incr1//2015-11-06_11-33-16'
    MySQL binlog position: filename 'mysql-bin.000001', position '157893'
    151106 11:33:51 [00] Writing backup-my.cnf
    151106 11:33:51 [00] ...done
    151106 11:33:51 [00] Writing xtrabackup_info
    151106 11:33:51 [00] ...done
    xtrabackup: Transaction log of lsn (732153217) to (732501432) was copied.
    151106 11:33:51 completed OK!
    [root@localhost mysql]#

    第二次增量備份:

    [root@localhost mysql]# innobackupex --incremental /backup/xtrabackup/incr2 --incremental-basedir=/backup/xtrabackup/incr1/2015-11-06_11-33-16/ --user=bkpuser --password=digdeep

    [root@localhost mysql]# innobackupex --incremental /backup/xtrabackup/incr2 --incremental-basedir=/backup/xtrabackup/incr1/2015-11-06_11-33-16/ --user=bkpuser --password=digdeep
    151106 11:43:22 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!".
    
    151106 11:43:22 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).
    151106 11:43:22 version_check Connected to MySQL server
    151106 11:43:22 version_check Executing a version check against the server...
    151106 11:43:22 version_check Done.
    151106 11:43:22 Connecting to MySQL server host: localhost, user: bkpuser, password: set, port: 0, socket: /tmp/mysql.sock
    Using server version 5.6.26-log
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    incremental backup from 732501432 is enabled.
    xtrabackup: uses posix_fadvise().
    xtrabackup: cd to /var/lib/mysql
    xtrabackup: open files limit requested 0, set to 10240
    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 = 50331648
    151106 11:43:23 >> log scanned up to (732501432)
    xtrabackup: Generating a list of tablespaces
    151106 11:43:23 [01] Copying ./ibdata1 to /backup/xtrabackup/incr2/2015-11-06_11-43-22/ibdata1.delta
    151106 11:43:23 [01] ...done
    151106 11:43:24 >> log scanned up to (732552856)
    151106 11:43:24 [01] Copying ./mysql/slave_master_info.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/mysql/slave_master_info.ibd.delta
    151106 11:43:24 [01] ...done
    151106 11:43:25 >> log scanned up to (732552974)
    151106 11:43:25 [01] Copying ./mysql/innodb_index_stats.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/mysql/innodb_index_stats.ibd.delta
    151106 11:43:25 [01] ...done
    151106 11:43:25 [01] Copying ./mysql/slave_relay_log_info.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/mysql/slave_relay_log_info.ibd.delta
    151106 11:43:25 [01] ...done
    151106 11:43:26 >> log scanned up to (732552974)
    151106 11:43:26 [01] Copying ./mysql/slave_worker_info.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/mysql/slave_worker_info.ibd.delta
    151106 11:43:26 [01] ...done
    151106 11:43:26 [01] Copying ./mysql/innodb_table_stats.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/mysql/innodb_table_stats.ibd.delta
    151106 11:43:26 [01] ...done
    151106 11:43:27 >> log scanned up to (732716925)
    151106 11:43:27 [01] Copying ./aazj/u_test.ibd to /backup/xtrabackup/incr2/2015-11-06_11-43-22/aazj/u_test.ibd.delta
    151106 11:43:27 [01] ...done
    [... ...]
    151106 11:43:50 [01] Copying ./t/t.frm to /backup/xtrabackup/incr2/2015-11-06_11-43-22/t/t.frm
    151106 11:43:50 [01] ...done
    151106 11:43:50 Finished backing up non-InnoDB tables and files
    151106 11:43:50 [00] Writing xtrabackup_binlog_info
    151106 11:43:50 [00] ...done
    151106 11:43:50 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
    xtrabackup: The latest check point (for incremental): '732777035'
    xtrabackup: Stopping log copying thread.
    .151106 11:43:50 >> log scanned up to (732777035)
    
    151106 11:43:50 Executing UNLOCK TABLES
    151106 11:43:50 All tables unlocked
    151106 11:43:50 Backup created in directory '/backup/xtrabackup/incr2/2015-11-06_11-43-22'
    MySQL binlog position: filename 'mysql-bin.000001', position '254400'
    151106 11:43:50 [00] Writing backup-my.cnf
    151106 11:43:50 [00] ...done
    151106 11:43:50 [00] Writing xtrabackup_info
    151106 11:43:50 [00] ...done
    xtrabackup: Transaction log of lsn (732501432) to (732777035) was copied.
    151106 11:43:50 completed OK!
    [root@localhost mysql]#

    3.5 innobackupex 增量備份的恢復

    1> 應用全備的redo log:

    [root@localhost ~]# innobackupex --apply-log --redo-only /backup/xtrabackup/full/2015-11-06_11-29-51/ --user=bkpuser --password=digdeep

    [root@localhost ~]# innobackupex --apply-log --redo-only /backup/xtrabackup/full/2015-11-06_11-29-51/ --user=bkpuser --password=digdeep
    151106 14:48:26 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!".
    
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    xtrabackup: cd to /backup/xtrabackup/full/2015-11-06_11-29-51/
    xtrabackup: This target seems to be not prepared yet.
    xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(731724832)
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = ./
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = ./
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: Starting InnoDB instance for recovery.
    xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
    InnoDB: Using atomics to ref count buffer pool pages
    InnoDB: The InnoDB memory heap is disabled
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Memory barrier is not used
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Not using CPU crc32 instructions
    InnoDB: Initializing buffer pool, size = 100.0M
    InnoDB: Completed initialization of buffer pool
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: The log sequence numbers 731724822 and 731724822 in ibdata files do not match the log sequence number 731724832 in the ib_logfiles!
    InnoDB: Database was not shutdown normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages
    InnoDB: from the doublewrite buffer...
    xtrabackup: Last MySQL binlog file position 117940, file name mysql-bin.000015
    
    xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 731724832
    151106 14:48:28 completed OK!

    2> 應用第一次增量備份的redo log:

    [root@localhost ~]# innobackupex --apply-log --redo-only /backup/xtrabackup/full/2015-11-06_11-29-51/ --incremental-dir=/backup/xtrabackup/incr1/2015-11-06_11-33-16/ --user=bkpuser --password=digdeep

    [root@localhost ~]# innobackupex --apply-log --redo-only /backup/xtrabackup/full/2015-11-06_11-29-51/ --incremental-dir=/backup/xtrabackup/incr1/2015-11-06_11-33-16/ --user=bkpuser --password=digdeep
    151106 14:51:08 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!".
    
    innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (i686) (revision id: 306a2e0)
    incremental backup from 731724832 is enabled.
    xtrabackup: cd to /backup/xtrabackup/full/2015-11-06_11-29-51/
    xtrabackup: This target seems to be already prepared with --apply-log-only.
    xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(732153217)
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = /backup/xtrabackup/incr1/2015-11-06_11-33-16/
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: Generating a list of tablespaces
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//ibdata1.delta is 16384 bytes
    Applying /backup/xtrabackup/incr1/2015-11-06_11-33-16//ibdata1.delta to ./ibdata1...
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//mysql/innodb_index_stats.ibd.delta is 16384 bytes
    [... ...]
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/tttt.ibd.delta is 16384 bytes
    Applying /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/tttt.ibd.delta to ./aazj/tttt.ibd...
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/Users.ibd.delta is 16384 bytes
    Applying /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/Users.ibd.delta to ./aazj/Users.ibd...
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/Gis.ibd.delta is 16384 bytes
    Applying /backup/xtrabackup/incr1/2015-11-06_11-33-16//aazj/Gis.ibd.delta to ./aazj/Gis.ibd...
    [... ...]
    xtrabackup: page size for /backup/xtrabackup/incr1/2015-11-06_11-33-16//t/t.ibd.delta is 16384 bytes
    Applying /backup/xtrabackup/incr1/2015-11-06_11-33-16//t/t.ibd.delta to ./t/t.ibd...
    xtrabackup: using the following InnoDB configuration for recovery:
    xtrabackup: innodb_data_home_dir = ./
    xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
    xtrabackup: innodb_log_group_home_dir = /backup/xtrabackup/incr1/2015-11-06_11-33-16/
    xtrabackup: innodb_log_files_in_group = 1
    xtrabackup: innodb_log_file_size = 2097152
    xtrabackup: Starting InnoDB instance for recovery.
    xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
    InnoDB: Using atomics to ref count buffer pool pages
    InnoDB: The InnoDB memory heap is disabled
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Memory barrier is not used
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Not using CPU crc32 instructions
    InnoDB: Initializing buffer pool, size = 100.0M
    InnoDB: Completed initialization of buffer pool
    InnoDB: Highest supported file format is Barracuda.
    InnoDB: Log scan progressed past the checkpoint lsn 732153217
    InnoDB: Database was not shutdown normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages
    InnoDB: from the doublewrite buffer...
    InnoDB: Doing recovery: scanned up to log sequence number 732501432 (18%)
    InnoDB: Starting an apply batch of log records to the database...
    InnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 8 6 87 88 89 90 91 92 93 94 95 96 97 98 99
    InnoDB: Apply batch completed
    xtrabackup: Last MySQL binlog file position 157 
    
    
    
    
    

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    使用xtrabackup進行MySQL數據庫物理備份_MySQL

    使用xtrabackup進行MySQL數據庫物理備份_MySQL:0. xtrabackup的功能 能實現的功能: 非阻塞備份innodb等事務引擎數據庫、 備份myisam表會阻塞(需要鎖)、 支持全備、增量備份、壓縮備份、 快速增量備份(xtradb,原理類似于oracle:tracking 上次備份之后發生修改的page.)、 pe
    推薦度:
    標簽: 備份 物理 數據庫
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美人与性动交α欧美精品成人色XXXX视频| 精品国产午夜福利在线观看| 亚洲av无码成人精品区| 最新国产精品无码| 久久狠狠一本精品综合网| 国产精品乱码高清在线观看 | 亚洲精品乱码久久久久久蜜桃| 日韩精品无码中文字幕一区二区| 98精品国产自产在线XXXX| 亚洲Av永久无码精品三区在线| 91精品国产综合久久婷婷| 亚洲精品乱码久久久久久蜜桃不卡| 国产精品福利一区二区| 无码精品A∨在线观看| 久久精品国产亚洲网站| 久久精品亚洲一区二区三区浴池| 亚洲国产精品久久久久婷婷老年| 久久精品夜色噜噜亚洲A∨| 精品亚洲成a人片在线观看少妇 | 99热门精品一区二区三区无码| 国产精品亚洲精品日韩已方| 国产亚洲精品a在线观看app| 国产午夜精品一区二区三区| 久久综合久久自在自线精品自| 国产精品免费αv视频| 亚洲精品和日本精品| 精品无码久久久久久久动漫| 国产农村妇女毛片精品久久| 99精品视频在线观看婷| 国内精品久久久久伊人av| 中文字幕久久精品无码| 四虎永久在线精品免费一区二区 | 亚洲精品综合久久| 日韩精品免费视频| 欧美精品黑人巨大在线播放| 久久精品国产一区二区三区日韩| 中文字幕无码精品三级在线电影 | 日韩精品一区二区三区大桥未久 | 国产福利在线观看精品| 99久久99久久精品免费看蜜桃| 午夜三级国产精品理论三级|