mysql 企业备份_MySQL的企业备份(MEB)

一、安装

[root@gflinux meb]# ll

total 2936

-rw-r--r-- 1 root root 2998307 Jan 30 16:02 V59673-01.zip

[root@gflinux meb]# unzip V59673-01.zip

Archive:  V59673-01.zip

extracting: meb-3.11.1-rhel5.i386.rpm

extracting: README.txt

[root@gflinux meb]# rpm -ivh meb-3.11.1-rhel5.i386.rpm

[root@gflinux meb]# find / -name mysqlbackup

/opt/mysql/meb-3.11/bin/mysqlbackup

[root@gflinux meb]# cp /opt/mysql/meb-3.11/bin/mysqlbackup /usr/bin/

二、创建备份账号并赋予特权

为了使特权用户能够利用MEB进行备份,就需要提高访问权限,这些特权包括:

mysql> CREATE USER dbbackup@localhost IDENTIFIED BY '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT RELOAD,REPLICATION CLIENT,SUPER,CREATE TEMPORARY TABLES ON *.* TO 'dbbackup'@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT CREATE,INSERT,DROP ON mysql.backup_progress TO 'dbbackup'@'localhost';

Query OK, 0 rows affected (0.01 sec)

mysql> GRANT CREATE,INSERT,DROP ON mysql.backup_history TO 'dbbackup'@'localhost';

Query OK, 0 rows affected (0.00 sec)

三、备份

[root@gflinux backup]# time mysqlbackup --user=dbbackup --password=123456 --backup-dir=/home/backup/${HOSTNAME}_`date +"%Y%m%d_%H:%M:%S"` backup-and-apply-log

MySQL Enterprise Backup version 3.11.1 Linux-2.6.18-92.1.10.el5-i686 [2014/11/04]

Copyright (c) 2003, 2014, Oracle and/or its affiliates. All Rights Reserved.

mysqlbackup: INFO: Starting with following command line ...

mysqlbackup --user=dbbackup --password=xxxxxx

--backup-dir=/home/backup/gflinux_20150130_16:37:30

backup-and-apply-log

mysqlbackup: INFO:

mysqlbackup: INFO: MySQL server version is '5.6.21'.

mysqlbackup: INFO: Got some server configuration information from running server.

IMPORTANT: Please check that mysqlbackup run completes successfully.

At the end of a successful 'backup-and-apply-log' run mysqlbackup

prints "mysqlbackup completed OK!".

150130 16:37:30 mysqlbackup: INFO: MEB logfile created at /home/backup/gflinux_20150130_16:37:30/meta/MEB_2015-01-30.16-37-30_backup_apply_log.log

--------------------------------------------------------------------

Server Repository Options:

--------------------------------------------------------------------

datadir = /opt/mysql/data/

innodb_data_home_dir =

innodb_data_file_path = ibdata1:12M:autoextend

innodb_log_group_home_dir = /opt/mysql/data/

innodb_log_files_in_group = 2

innodb_log_file_size = 50331648

innodb_page_size = 16384

innodb_checksum_algorithm = innodb

innodb_undo_directory = /opt/mysql/data/

innodb_undo_tablespaces = 0

innodb_undo_logs = 128

--------------------------------------------------------------------

Backup Config Options:

--------------------------------------------------------------------

datadir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_data_home_dir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_data_file_path = ibdata1:12M:autoextend

innodb_log_group_home_dir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_log_files_in_group = 2

innodb_log_file_size = 50331648

innodb_page_size = 16384

innodb_checksum_algorithm = innodb

innodb_undo_directory = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_undo_tablespaces = 0

innodb_undo_logs = 128

mysqlbackup: INFO: Unique generated backup id for this is 14226070505710696

mysqlbackup: INFO: Creating 14 buffers each of size 16777216.

150130 16:37:32 mysqlbackup: INFO: Full Backup operation starts with following threads

1 read-threads    6 process-threads    1 write-threads

150130 16:37:32 mysqlbackup: INFO: System tablespace file format is Antelope.

150130 16:37:32 mysqlbackup: INFO: Starting to copy all innodb files...

mysqlbackup: INFO: Could not find binlog index file. binlogs will not be copied for this backup.

Point-In-Time-Recovery will not be possible.

If this is online backup then server may not have started with --log-bin.

You may specify its location with --log-bin-index option.

150130 16:37:32 mysqlbackup: INFO: Found checkpoint at lsn 1633585.

150130 16:37:32 mysqlbackup: INFO: Starting log scan from lsn 1633280.

150130 16:37:32 mysqlbackup: INFO: Copying log...

150130 16:37:32 mysqlbackup: INFO: Log copied, lsn 1633585.

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/ibdata1 (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/mysql/innodb_index_stats.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/mysql/innodb_table_stats.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/mysql/slave_master_info.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/mysql/slave_relay_log_info.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/mysql/slave_worker_info.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Copying /opt/mysql/data/test/t.ibd (Antelope file format).

150130 16:37:32 mysqlbackup: INFO: Completing the copy of innodb files.

150130 16:37:33 mysqlbackup: INFO: Preparing to lock tables: Connected to mysqld server.

150130 16:37:33 mysqlbackup: INFO: Starting to lock all the tables...

150130 16:37:33 mysqlbackup: INFO: All tables are locked and flushed to disk

150130 16:37:33 mysqlbackup: INFO: Opening backup source directory '/opt/mysql/data/'

150130 16:37:33 mysqlbackup: INFO: Starting to backup all non-innodb files in

subdirectories of '/opt/mysql/data/'

150130 16:37:33 mysqlbackup: INFO: Copying the database directory 'mysql'

150130 16:37:34 mysqlbackup: INFO: Copying the database directory 'performance_schema'

150130 16:37:34 mysqlbackup: INFO: Copying the database directory 'test'

150130 16:37:34 mysqlbackup: INFO: Completing the copy of all non-innodb files.

150130 16:37:35 mysqlbackup: INFO: A copied database page was modified at 1633585.

(This is the highest lsn found on page)

Scanned log up to lsn 1633585.

Was able to parse the log up to lsn 1633585.

Maximum page number for a log record 0

150130 16:37:35 mysqlbackup: INFO: All tables unlocked

150130 16:37:35 mysqlbackup: INFO: All MySQL tables were locked for 1.748 seconds.

150130 16:37:35 mysqlbackup: INFO: Reading all global variables from the server.

150130 16:37:35 mysqlbackup: INFO: Completed reading of all global variables from the server.

150130 16:37:35 mysqlbackup: INFO: Creating server config files server-my.cnf and server-all.cnf in /home/backup/gflinux_20150130_16:37:30

150130 16:37:35 mysqlbackup: INFO: Full Backup operation completed successfully.

150130 16:37:35 mysqlbackup: INFO: Backup created in directory '/home/backup/gflinux_20150130_16:37:30'

-------------------------------------------------------------

Parameters Summary

-------------------------------------------------------------

Start LSN                  : 1633280

End LSN                    : 1633585

-------------------------------------------------------------

mysqlbackup: INFO: Creating 14 buffers each of size 65536.

150130 16:37:35 mysqlbackup: INFO: Apply-log operation starts with following threads

1 read-threads    1 process-threads

mysqlbackup: INFO: Using up to 100 MB of memory.

150130 16:37:35 mysqlbackup: INFO: ibbackup_logfile's creation parameters:

start lsn 1633280, end lsn 1633585,

start checkpoint 1633585.

mysqlbackup: INFO: 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

mysqlbackup: INFO: InnoDB: Setting log file size to 50331648

mysqlbackup: INFO: InnoDB: Setting log file size to 50331648

150130 16:37:36 mysqlbackup: INFO: We were able to parse ibbackup_logfile up to

lsn 1633585.

150130 16:37:36 mysqlbackup: INFO: The first data file is '/home/backup/gflinux_20150130_16:37:30/datadir/ibdata1'

and the new created log files are at '/home/backup/gflinux_20150130_16:37:30/datadir'

150130 16:37:36 mysqlbackup: INFO: Apply-log operation completed successfully.

150130 16:37:36 mysqlbackup: INFO: Full backup prepared for recovery successfully.

mysqlbackup completed OK!

real0m6.225s

user0m0.023s

sys0m0.659s

[root@gflinux backup]#

四、监控:

mysqlbackup的命令结果除了以文本形式输出外,相关信息也被记录到mysql模式中:

mysql> select * from backup_history\G;

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

backup_id: 14226039516325379

tool_name: mysqlbackup --user=root --password=xxxxxx --backup-dir=/home/backup/test1 backup-and-apply-log

start_time: 2015-01-30 15:45:51

end_time: 2015-01-30 15:45:56

binlog_pos: -1

binlog_file: BINLOG-DISABLED

compression_level: 0

engines: MEMORY:MyISAM:CSV:InnoDB:PERFORMANCE_SCHEMA:

innodb_data_file_path: ibdata1:12M:autoextend

innodb_file_format: Antelope

start_lsn: 1633280

end_lsn: 1633585

incremental_base_lsn: 0

backup_type: FULL

backup_format: DIRECTORY

mysql_data_dir: /opt/mysql/data/

innodb_data_home_dir:

innodb_log_group_home_dir: /opt/mysql/data/

innodb_log_files_in_group: 2

innodb_log_file_size: 50331648

backup_destination: /home/backup/test1

lock_time: 2.444

exit_state: SUCCESS

last_error: NO_ERROR

last_error_code: 0

1 row in set (0.00 sec)

ERROR:

No query specified

mysql> select * from backup_progress where backup_id=14226039516325379\G;

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

backup_id: 14226039516325379

tool_name: mysqlbackup

error_code: 0

error_message: NO_ERROR

current_time: 2015-01-30 15:45:53

current_state: Started mysqlbackup.

*************************** 2. row ***************************

backup_id: 14226039516325379

tool_name: mysqlbackup

error_code: 0

error_message: NO_ERROR

current_time: 2015-01-30 15:45:54

current_state: mysqlbackup locking tables and copying .frm + other engines data.

*************************** 3. row ***************************

backup_id: 14226039516325379

tool_name: mysqlbackup

error_code: 0

error_message: NO_ERROR

current_time: 2015-01-30 15:45:56

current_state: mysqlbackup unlocked the tables.

*************************** 4. row ***************************

backup_id: 14226039516325379

tool_name: mysqlbackup

error_code: 0

error_message: NO_ERROR

current_time: 2015-01-30 15:45:56

current_state: mysqlbackup returns success.

*************************** 5. row ***************************

backup_id: 14226039516325379

tool_name: mysqlbackup

error_code: 0

error_message: NO_ERROR

current_time: 2015-01-30 15:45:56

current_state: mysqlbackup applying log.

5 rows in set (0.00 sec)

这个可以使用--no-history-logging选项来终止。

五、恢复

[root@gflinux gflinux_20150130_16:37:30]# mysqlbackup --backup-dir=/home/backup/gflinux_20150130_16:37:30 copy-back-and-apply-log

MySQL Enterprise Backup version 3.11.1 Linux-2.6.18-92.1.10.el5-i686 [2014/11/04]

Copyright (c) 2003, 2014, Oracle and/or its affiliates. All Rights Reserved.

mysqlbackup: INFO: Starting with following command line ...

mysqlbackup --backup-dir=/home/backup/gflinux_20150130_16:37:30

copy-back-and-apply-log

mysqlbackup: INFO:

IMPORTANT: Please check that mysqlbackup run completes successfully.

At the end of a successful 'copy-back-and-apply-log' run mysqlbackup

prints "mysqlbackup completed OK!".

150130 16:58:40 mysqlbackup: INFO: MEB logfile created at /home/backup/gflinux_20150130_16:37:30/meta/MEB_2015-01-30.16-58-40_copy_back_dir_to_datadir.log

mysqlbackup: WARNING: If you restore to a server of a different version, the innodb_data_file_path parameter might have a different default. In that case you need to add 'innodb_data_file_path=ibdata1:12M:autoextend' to the target server configuration.

mysqlbackup: WARNING: If you restore to a server of a different version, the innodb_log_files_in_group parameter might have a different default. In that case you need to add 'innodb_log_files_in_group=2' to the target server configuration.

mysqlbackup: WARNING: If you restore to a server of a different version, the innodb_log_file_size parameter might have a different default. In that case you need to add 'innodb_log_file_size=50331648' to the target server configuration.

--------------------------------------------------------------------

Server Repository Options:

--------------------------------------------------------------------

datadir = /opt/mysql/data

innodb_data_home_dir = /opt/mysql/data

innodb_data_file_path = ibdata1:12M:autoextend

innodb_log_group_home_dir = /opt/mysql/data

innodb_log_files_in_group = 2

innodb_log_file_size = 50331648

innodb_page_size = Null

innodb_checksum_algorithm = innodb

--------------------------------------------------------------------

Backup Config Options:

--------------------------------------------------------------------

datadir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_data_home_dir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_data_file_path = ibdata1:12M:autoextend

innodb_log_group_home_dir = /home/backup/gflinux_20150130_16:37:30/datadir

innodb_log_files_in_group = 2

innodb_log_file_size = 50331648

innodb_page_size = 16384

innodb_checksum_algorithm = innodb

mysqlbackup: INFO: Creating 14 buffers each of size 16777216.

150130 16:58:40 mysqlbackup: INFO: Copy-back-and-apply-log operation starts with following threads

1 read-threads    1 write-threads

mysqlbackup: INFO: Could not find binlog index file. binlogs will not be copied for this backup.

Point-In-Time-Recovery will not be possible.

If this is online backup then server may not have started with --log-bin.

You may specify its location with --log-bin-index option.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/ibdata1.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/mysql/innodb_index_stats.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/mysql/innodb_table_stats.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/mysql/slave_master_info.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/mysql/slave_relay_log_info.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/mysql/slave_worker_info.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying /home/backup/gflinux_20150130_16:37:30/datadir/test/t.ibd.

150130 16:58:41 mysqlbackup: INFO: Copying the database directory 'mysql'

150130 16:58:42 mysqlbackup: INFO: Copying the database directory 'performance_schema'

150130 16:58:42 mysqlbackup: INFO: Copying the database directory 'test'

150130 16:58:42 mysqlbackup: INFO: Completing the copy of all non-innodb files.

150130 16:58:43 mysqlbackup: INFO: Apply-log operation has already been done on that backup.

150130 16:58:43 mysqlbackup: INFO: Creating server config files server-my.cnf and server-all.cnf in /opt/mysql/data

150130 16:58:43 mysqlbackup: INFO: Copy-back operation completed successfully.

mysqlbackup completed OK! with 3 warnings

[root@gflinux gflinux_20150130_16:37:30]#

六、设置权限

设置mysql权限:

[root@gflinux data]# chown -R mysql:mysql test

[root@gflinux data]# ll

total 110724

-rw-rw---- 1 mysql mysql       56 Jan 27 15:15 auto.cnf

-rw-rw---- 1 mysql mysql 12582912 Jan 30 16:55 ibdata1

-rw-rw---- 1 mysql mysql 50331648 Jan 30 16:55 ib_logfile0

-rw-rw---- 1 mysql mysql 50331648 Jan 27 15:15 ib_logfile1

drwx------ 2 mysql mysql     4096 Jan 30 15:45 mysql

drwx------ 2 mysql mysql     4096 Jan 27 15:15 performance_schema

[root@gflinux data]# ll

total 110752

-rw-rw---- 1 mysql mysql       56 Jan 27 15:15 auto.cnf

-rw-r--r-- 1 root  root       264 Jan 30 16:58 backup_variables.txt

-rw-rw---- 1 mysql mysql 12582912 Jan 30 16:58 ibdata1

-rw-rw---- 1 mysql mysql 50331648 Jan 30 16:55 ib_logfile0

-rw-rw---- 1 mysql mysql 50331648 Jan 27 15:15 ib_logfile1

drwx------ 2 mysql mysql     4096 Jan 30 15:45 mysql

drwx------ 2 mysql mysql     4096 Jan 27 15:15 performance_schema

-rw-r--r-- 1 root  root     12559 Jan 30 16:58 server-all.cnf

-rw-r--r-- 1 root  root      3201 Jan 30 16:58 server-my.cnf

drwx------ 2 root  root      4096 Jan 30 16:58 test

七、重启服务

[root@gflinux data]# service mysqld start

Starting MySQL....                                         [  OK  ]

[root@gflinux data]#

mysql> select count(*),now() from t;

+----------+---------------------+

| count(*) | now()               |

+----------+---------------------+

|        2 | 2015-01-30 17:05:44 |

+----------+---------------------+

1 row in set (0.00 sec)

mysql> select count(*),now() from t;

+----------+---------------------+

| count(*) | now()               |

+----------+---------------------+

|        2 | 2015-01-30 17:06:08 |

+----------+---------------------+

1 row in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值