mysql小白系列_06 備份與恢復
阿新 • • 發佈:2018-02-22
pie article latency put pty nts variable roo unix
1.使用mydumper工具全庫備份。 1)源碼編譯安裝 2)全庫備份 2.誤操作truncate table gyj_t1;利用mysqldump的備份和binlog日誌對表gyj_t1做完全恢復。 如下場景: create table gyj_t1(id int,name varchar(10)); insert into gyj_t1 values(1,‘AAAAA‘); commit; mysqldump全庫備份。。。 insert into gyj_t1 values(2,‘BBBBBB‘); commit; truncate table gyj; 開始恢復。。。 恢復完成!!! 驗證:select * from gyj_t1;有2條記錄 3.誤操作MySQL數據庫:rm /u01/my3306/data/*;利用Innobackupex的備份和binlog日誌對MySQL數據庫做完全恢復。 如下場景: create table gyj_t2(id int,name varchar(10)); insert into gyj_t1 values(1,‘AAAAA‘); insert into gyj_t1 values(2,‘BBBBBB‘); commit; select * from gyj_t2; #(2條記) 使用Innobackupex備份全庫 insert into gyj_t1 values(3,‘CCCCC‘); commit; select * from gyj_t2; #(3條記) 誤操作:rm –rf /u01/my3306/data/* 開始恢復。。。 恢復完成!!! 驗證:select * from gyj_t3;有3條記錄
1.使用mydumper工具全庫備份。
wget https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz cd mydumper-0.9.1 [root@mysql01 mydumper-0.9.1]# cmake . -- Using mysql-config: /data/my3306/bin/mysql_config -- Found MySQL: /data/my3306/include, /data/my3306/lib/libmysqlclient.so;/usr/lib64/libpthread.so;/usr/lib64/libm.so;/usr/lib64/librt.so;/usr/lib64/libssl.so;/usr/lib64/libcrypto.so;/usr/lib64/libdl.so -- checking for one of the modules ‘glib-2.0‘ -- checking for one of the modules ‘gthread-2.0‘ CMake Warning at docs/CMakeLists.txt:9 (message): Unable to find Sphinx documentation generator -- ------------------------------------------------ -- MYSQL_CONFIG = /data/my3306/bin/mysql_config -- CMAKE_INSTALL_PREFIX = /usr/local -- BUILD_DOCS = ON -- WITH_BINLOG = OFF -- RUN_CPPCHECK = OFF -- Change a values with: cmake -D<Variable>=<Value> -- ------------------------------------------------ -- -- Configuring done -- Generating done -- Build files have been written to: /dvd/mydumper-0.9.1 [root@mysql01 mydumper-0.9.1]# make Scanning dependencies of target mydumper [ 25%] Building C object CMakeFiles/mydumper.dir/mydumper.c.o [ 50%] Building C object CMakeFiles/mydumper.dir/server_detect.c.o [ 75%] Building C object CMakeFiles/mydumper.dir/g_unix_signal.c.o Linking C executable mydumper [ 75%] Built target mydumper Scanning dependencies of target myloader [100%] Building C object CMakeFiles/myloader.dir/myloader.c.o Linking C executable myloader [100%] Built target myloader [root@mysql01 mydumper-0.9.1]# make install [ 75%] Built target mydumper [100%] Built target myloader Install the project... -- Install configuration: "" -- Installing: /usr/local/bin/mydumper -- Removed runtime path from "/usr/local/bin/mydumper" -- Installing: /usr/local/bin/myloader -- Removed runtime path from "/usr/local/bin/myloader"
https://github.com/maxbube/mydumper
https://launchpad.net/mydumper
http://blog.csdn.net/leshami/article/details/46815553
update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘ and host=‘127.0.0.1‘; mydumper --user=root --password=‘123456‘ --host=127.0.0.1 --socket=/data/my3306/run/mysql.sock --regex ‘^(?!(mysql))‘ --outputdir=/backup/mydumper --compress --verbose=3 --logfile=/backup/mydumper/mydumper.log [root@mysql01 mydumper]# cat mydumper.log 2018-02-21 23:50:58 [INFO] - Connected to a MySQL server 2018-02-21 23:50:58 [INFO] - Started dump at: 2018-02-21 23:50:58 2018-02-21 23:50:58 [INFO] - Written master status 2018-02-21 23:50:58 [INFO] - Thread 1 connected using MySQL connection ID 6 2018-02-21 23:50:59 [INFO] - Thread 2 connected using MySQL connection ID 7 2018-02-21 23:50:59 [INFO] - Thread 3 connected using MySQL connection ID 8 2018-02-21 23:50:59 [INFO] - Thread 4 connected using MySQL connection ID 9 2018-02-21 23:50:59 [INFO] - Thread 4 dumping data for `db1`.`t1` 2018-02-21 23:50:59 [INFO] - Non-InnoDB dump complete, unlocking tables 2018-02-21 23:50:59 [INFO] - Thread 1 dumping data for `sys`.`sys_config` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping schema for `db1`.`t1` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping schema for `sys`.`sys_config` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`host_summary` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`host_summary_by_file_io` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`host_summary_by_file_io_type` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`host_summary_by_stages` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`host_summary_by_statement_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`host_summary_by_statement_type` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`innodb_buffer_stats_by_schema` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`innodb_buffer_stats_by_table` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`innodb_lock_waits` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`io_by_thread_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`io_global_by_file_by_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`io_global_by_file_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`io_global_by_wait_by_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`io_global_by_wait_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`latest_file_io` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`memory_by_host_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`memory_by_thread_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`memory_by_user_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`memory_global_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`memory_global_total` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`metrics` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`processlist` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`ps_check_lost_instrumentation` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`schema_auto_increment_columns` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`schema_index_statistics` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`schema_object_overview` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`schema_redundant_indexes` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`schema_table_lock_waits` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`schema_table_statistics` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`schema_table_statistics_with_buffer` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`schema_tables_with_full_table_scans` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`schema_unused_indexes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`session` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`session_ssl_status` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`statement_analysis` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`statements_with_errors_or_warnings` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`statements_with_full_table_scans` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`statements_with_runtimes_in_95th_percentile` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`statements_with_sorting` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`statements_with_temp_tables` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`user_summary` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`user_summary_by_file_io` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`user_summary_by_file_io_type` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`user_summary_by_stages` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`user_summary_by_statement_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`user_summary_by_statement_type` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`version` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`wait_classes_global_by_avg_latency` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`wait_classes_global_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`waits_by_host_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`waits_by_user_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`waits_global_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$host_summary` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$host_summary_by_file_io` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$host_summary_by_file_io_type` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$host_summary_by_stages` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$host_summary_by_statement_latency` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$host_summary_by_statement_type` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$innodb_buffer_stats_by_schema` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$innodb_buffer_stats_by_table` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$innodb_lock_waits` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$io_by_thread_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$io_global_by_file_by_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$io_global_by_file_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$io_global_by_wait_by_bytes` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$io_global_by_wait_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$latest_file_io` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$memory_by_host_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$memory_by_thread_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$memory_by_user_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$memory_global_by_current_bytes` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$memory_global_total` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$processlist` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$ps_digest_95th_percentile_by_avg_us` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$ps_digest_avg_latency_distribution` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$ps_schema_table_statistics_io` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$schema_flattened_keys` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$schema_index_statistics` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$schema_table_lock_waits` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$schema_table_statistics` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$schema_table_statistics_with_buffer` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$schema_tables_with_full_table_scans` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$statement_analysis` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$statements_with_errors_or_warnings` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$statements_with_full_table_scans` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$statements_with_runtimes_in_95th_percentile` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$statements_with_sorting` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$statements_with_temp_tables` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$user_summary` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$user_summary_by_file_io` 2018-02-21 23:50:59 [INFO] - Thread 3 dumping view for `sys`.`x$user_summary_by_file_io_type` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$user_summary_by_stages` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$user_summary_by_statement_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$user_summary_by_statement_type` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$wait_classes_global_by_avg_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$wait_classes_global_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 2 dumping view for `sys`.`x$waits_by_host_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 dumping view for `sys`.`x$waits_by_user_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 1 dumping view for `sys`.`x$waits_global_by_latency` 2018-02-21 23:50:59 [INFO] - Thread 4 shutting down 2018-02-21 23:50:59 [INFO] - Thread 2 shutting down 2018-02-21 23:50:59 [INFO] - Thread 3 shutting down 2018-02-21 23:50:59 [INFO] - Thread 1 shutting down 2018-02-21 23:50:59 [INFO] - Finished dump at: 2018-02-21 23:50:59
備份前插入一條數據
mysql> use db1
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| t1 |
+---------------+
1 row in set (0.00 sec)
mysql> create table gyj_t1(id int,name varchar(10));
Query OK, 0 rows affected (0.20 sec)
mysql> insert into gyj_t1 values(1,‘AAAAA‘);
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from gyj_t1;
+------+-------+
| id | name |
+------+-------+
| 1 | AAAAA |
+------+-------+
1 row in set (0.00 sec)
使用mysqldump備份
mysqldump -uroot -p123456 -h127.0.0.1 -P3306 -S=/data/my3306/run/mysql.sock --single-transaction --master-data=2 db1 > /backup/db1.sql
日誌
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT=‘Slow log‘;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2018-02-22 0:03:00
再插入一條數據
mysql> insert into gyj_t1 values(2,‘BBBBBB‘);
Query OK, 1 row affected (0.12 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from gyj_t1;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
+------+--------+
2 rows in set (0.00 sec)
mysql> truncate gyj_t1;
Query OK, 0 rows affected (0.12 sec)
mysql> select * from gyj_t1;
Empty set (0.00 sec)
https://www.cnblogs.com/chenmh/p/5300370.html
從dump中恢復備份
mysql -uroot -p123456 -h127.0.0.1 -S=/data/my3306/run/mysql.sock db1 < /backup/db1.sql
恢復了備份中的一條數據
mysql> select * from gyj_t1;
+------+-------+
| id | name |
+------+-------+
| 1 | AAAAA |
+------+-------+
1 row in set (0.00 sec)
從binlog中恢復另外的數據
-- CHANGE MASTER TO MASTER_LOG_FILE=‘binlog.000013‘, MASTER_LOG_POS=599;
從599開始進行前滾
mysql -S /data/my3306/run/mysql.sock -e "show binlog events in ‘binlog.000013‘" |grep -i truncate
binlog.000013 929 Query 3306 1010 use `db1`; truncate gyj_t1
或者用mysqlbinglog查看
mysqlbinlog binlog.000013
# at 929
#180222 0:40:34 server id 3306 end_log_pos 1010 CRC32 0x28417934 Query thread_id=13 exec_time=0 error_code=0
SET TIMESTAMP=1519231234/*!*/;
truncate gyj_t1
前滾到929
mysqlbinlog binlog.000013 --start-position 599 --stop-position 929| mysql -uroot -p123456 -h127.0.0.1 -S=/data/my3306/run/mysql.sock
最終如下
mysql> select * from gyj_t1;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
+------+--------+
2 rows in set (0.00 sec)
3.誤操作MySQL數據庫:rm /u01/my3306/data/*;利用Innobackupex的備份和binlog日誌對MySQL數據庫做完全恢復。
https://www.percona.com/downloads/XtraBackup/LATEST/
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/tarball/percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz
tar -zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.4.9-Linux-x86_64
cp -rp bin /usr/bin/xtrabackup
先插入數據
mysql> create table gyj_t2(id int,name varchar(10));
Query OK, 0 rows affected (0.14 sec)
mysql> insert into gyj_t2 values(1,‘AAAAA‘);
Query OK, 1 row affected (0.10 sec)
mysql> insert into gyj_t2 values(2,‘BBBBBB‘);
Query OK, 1 row affected (0.00 sec)
mysql> select * from gyj_t2;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
+------+--------+
2 rows in set (0.00 sec)
使用xtrabackup備份全庫
innobackupex --defaults-file=/data/my3306/my.cnf --user=root --password=‘123456‘ --host=127.0.0.1 --socket=/data/my3306/run/mysql.sock --port=3306 /backup
日誌
180222 09:27:05 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): ‘3014721‘
xtrabackup: Stopping log copying thread.
.180222 09:27:05 >> log scanned up to (3014730)
180222 09:27:05 Executing UNLOCK TABLES
180222 09:27:05 All tables unlocked
180222 09:27:05 Backup created in directory ‘/backup/2018-02-22_09-26-59/‘
MySQL binlog position: filename ‘binlog.000013‘, position ‘5538‘
180222 09:27:05 [00] Writing /backup/2018-02-22_09-26-59/backup-my.cnf
180222 09:27:05 [00] ...done
180222 09:27:05 [00] Writing /backup/2018-02-22_09-26-59/xtrabackup_info
180222 09:27:05 [00] ...done
xtrabackup: Transaction log of lsn (3014721) to (3014730) was copied.
180222 09:27:05 completed OK!
備份後插入數據
mysql> insert into gyj_t2 values(3,‘CCCCC‘);
Query OK, 1 row affected (0.09 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from gyj_t2;select * from gyj_t2;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
| 3 | CCCCC |
+------+--------+
3 rows in set (0.00 sec)
誤操作刪除數據目錄rm -rf /data/my3306/data/*
[root@mysql01 my3306]# mv data data.bak
[root@mysql01 my3306]# ps -ef|grep mysql
root 3114 6440 0 09:28 pts/2 00:00:00 grep --color=auto mysql
root 5092 2345 0 Feb21 pts/0 00:00:00 /bin/sh /data/my3306/bin/mysqld_safe --defaults-file=/data/my3306/my.cnf
mysql 5956 5092 0 Feb21 pts/0 00:00:16 /data/my3306/bin/mysqld --defaults-file=/data/my3306/my.cnf --basedir=/data/my3306 --datadir=/data/my3306/data --plugin-dir=/data/my3306/lib/plugin --user=mysql --log-error=/data/my3306/log/error.log --open-files-limit=65535 --pid-file=/data/my3306/run/mysqld.pid --socket=/data/my3306/run/mysql.sock --port=3306
root 7515 2345 0 00:10 pts/0 00:00:00 mysql
[root@mysql01 my3306]# kill -9 5092 5956
對備份進行日誌重做apply-log
innobackupex --defaults-file=/data/my3306/my.cnf --apply-log --user=root --password=‘123456‘ --port=3306 --host=127.0.0.1 --socket=/data/my3306/run/mysql.sock /backup/2018-02-22_09-26-59
日誌
InnoDB: page_cleaner: 1000ms intended loop took 14313ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 3015208
180222 09:32:06 completed OK!
[root@mysql01 2018-02-22_09-26-59]# cat xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
to_lsn = 3014721
last_lsn = 3014730
compact = 0
recover_binlog_info = 0
copy-back數據文件(需要先執行目錄date和iblog清空)
innobackupex --defaults-file=/data/my3306/my.cnf --copy-back --user=root --password=‘123456‘ --port=3306 --host=127.0.0.1 /backup/2018-02-22_09-26-59
日誌
180222 09:38:00 [01] ...done
180222 09:38:00 [01] Copying ./xtrabackup_info to /data/my3306/data/xtrabackup_info
180222 09:38:00 [01] ...done
180222 09:38:00 [01] Copying ./xtrabackup_binlog_pos_innodb to /data/my3306/data/xtrabackup_binlog_pos_innodb
180222 09:38:00 [01] ...done
180222 09:38:00 [01] Copying ./ibtmp1 to /data/my3306/data/ibtmp1
180222 09:38:01 [01] ...done
180222 09:38:01 completed OK!
開啟實例查看數據
mysql> select * from gyj_t2;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
+------+--------+
2 rows in set (0.10 sec)
從binlog前滾恢復
[root@mysql01 2018-02-22_09-26-59]# cat xtrabackup_binlog_info
binlog.000013 5538
[root@mysql01 binlog]# pwd
/data/my3306/log/binlog
[root@mysql01 2018-02-22_09-26-59]# mysqlbinlog binlog.000013 --start-position 5538 | mysql -uroot -p123456 -h127.0.0.1 -S=/data/my3306/run/mysql.sock
查看最終結果
mysql> select * from gyj_t2;
+------+--------+
| id | name |
+------+--------+
| 1 | AAAAA |
| 2 | BBBBBB |
| 3 | CCCCC |
+------+--------+
3 rows in set (0.00 sec)
mysql小白系列_06 備份與恢復