ITPub博客

首页 > 数据库 > MySQL > Mysql备份与恢复

Mysql备份与恢复

原创 MySQL 作者:wddwr7307914 时间:2021-03-06 16:42:20 0 删除 编辑

1.热备类型
1.1 mysqldump
Mysql官方自带,单线程、逻辑备份,生产上用的少 ,一致性读
1.2 mysqlpump
Mysql官方自带,多线程、逻辑备份,无法获取Blog日志等
1.3 mydumper
Mysql社区开源免费,多线程,逻辑备份,会启动FTWRL,锁表
1.4 xtrabackup
percona开源免费,多线程,物理备份,非官方,会启动FTWRL, 推荐使用,速度快

物理备份优先逻辑备份,逻辑备份为辅
2.备份原理
mysqldump
prompt session1>set tx_isolation='repeatable-read';   -重复读
prompt session1>start transaction with consistent snapshot;  --快照模式

备份:mysqldump -uroot -p wmp --single-transaction --master-data=2 > /root/wmpback.sql
导入:source  /root/wmpback.sql
通过一致性快照,实现备份


source ...  导入数据
mysqldump   --查看帮助
mysqldump --help  

diff back.sql back2.sql   --查看区别
mysql> show variables like '%gen%'  --查看日志是否开启
+------------------+---------------------------+
| Variable_name    | Value                     |
+------------------+---------------------------+
| general_log      | OFF                       |
| general_log_file | /var/lib/mysql/Jeames.log |
+------------------+---------------------------+
mysql> show variables like '%out%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| have_statement_timeout      | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| innodb_status_output        | OFF      |
| innodb_status_output_locks  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| log_output                  | FILE     |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 28800    |
+-----------------------------+----------+
mysql> set global log_output='TABLE';   --日志输出到表里
mysql> set global general_log = ON;  
此时Mysql数据库会有一个表general_log
mysql> select event_time,thread_id,left(argument,64) from general_log limit 200;

show variables like '%sec%';

+--------------------------+-----------------------+
| Variable_name            | Value                 |
+--------------------------+-----------------------+
| require_secure_transport | OFF                   |
| secure_auth              | ON                    |
| secure_file_priv         | /var/lib/mysql-files/ |
+--------------------------+-----------------------+
以上路径可以修改

pe -ef | grep mysql
kill -9 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69947868/viewspace-2761567/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
从业8年DBA工作,数据库经验丰富 目前B正在Oracle\Mysql实战直播,请关注公众号:IT邦德 QQ:2243967774 QQ群:955286955、168797397 【OCP、OCM及高可用 、Mysql】网络班周末开课中,有意向请联系

注册时间:2020-06-13

  • 博文量
    30
  • 访问量
    7213