MYSQL备份比较常用的2种方式

在工作中我们数据库可能会遭遇各式各样的不测(硬件故障、软件故障、黑客攻击、误操作占比最大)从而导致数据丢失,下面给小伙伴介绍一下MYSQL备份比较常用的2种方式

MYSQL备份比较常用的2种方式

 

一、使用cp进行备份

查看数据库的信息

mysql> SHOW DATABASES;    
+--------------------+
| Database           |
+--------------------+
| information_schema |
| employees          |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> USE employees;
Database changed
mysql> SHOW TABLES;         
+---------------------+
| Tables_in_employees |
+---------------------+
| departments         |
| dept_emp            |
| dept_manager        |
| employees           |
| salaries            |
| titles              |
+---------------------+
5 rows in set (0.00 sec)

mysql> SELECT COUNT(*) FROM employees;   
+----------+
| COUNT(*) |
+----------+
|   300026 |
+----------+
2 row in set (0.05 sec)

备份数据文件

[root@node1 ~]# mkdir /backup   #创建文件夹存放备份数据库文件
[root@node1 ~]# cp -a /var/lib/mysql/* /backup     #保留权限的拷贝源数据文件
[root@node1 ~]# ls /backup   
employees  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test

数据恢复

[root@node1 ~]# cp -a /backup/* /var/lib/mysql/    #将备份的数据文件拷贝回去
[root@node1 ~]# service mysqld restart  #重启MySQL



mysql> SHOW DATABASES;    
+--------------------+
| Database           |
+--------------------+
| information_schema |
| employees          |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> USE employees;      

mysql> SELECT COUNT(*) FROM employees;   
+----------+
| COUNT(*) |
+----------+
|   300024 |
+----------+
1 row in set (0.06 sec)


##完成

这里使用的是使用yum安装的mysql-5.1的版本

二、使用Xtrabackup备份

备份过程

[root@node1 ~]# mkdir /extrabackup  #创建备份目录
[root@node1 ~]# innobackupex --user=root /extrabackup/ #备份数据
###################提示complete表示成功*********************

[root@node1 ~]# ls /extrabackup/  
2021-09-27_07-30-48 

备份完成后, 数据不能用于恢复操作因此我们需要准备一个完全备份

root@node1 ~]# innobackupex --apply-log /extrabackup/2021-09-27_07-30-48 /  #指定备份文件的目录

InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 369661462
160427 07:40:11 completed OK!

[root@node1 ~]# cd /extrabackup/2016-04-27_07-30-48/
[root@node1 2021-09-27_07-30-48 ]# ls -hl  #查看备份文件
total 31M
-rw-r----- 1 root root  386 Apr 27 07:30 backup-my.cnf
drwx------ 2 root root 4.0K Apr 27 07:30 employees
-rw-r----- 1 root root  18M Apr 27 07:40 ibdata1
-rw-r--r-- 1 root root 5.0M Apr 27 07:40 ib_logfile0
-rw-r--r-- 1 root root 5.0M Apr 27 07:40 ib_logfile1
drwx------ 2 root root 4.0K Apr 27 07:30 mysql
drwx------ 2 root root 4.0K Apr 27 07:30 performance_schema
drwx------ 2 root root 4.0K Apr 27 07:30 test
-rw-r----- 1 root root   25 Apr 27 07:30 xtrabackup_binlog_info
-rw-r--r-- 1 root root   27 Apr 27 07:40 xtrabackup_binlog_pos_innodb
-rw-r----- 1 root root  118 Apr 27 07:40 xtrabackup_checkpoints
-rw-r----- 1 root root  471 Apr 27 07:30 xtrabackup_info
-rw-r----- 1 root root 2.0M Apr 27 07:40 xtrabackup_logfile

恢复数据

[root@node1 ~]# rm -rf /data/* 



[root@node1 ~]# innobackupex --copy-back /extrabackup/2016-04-27_07-30-48/   #


[root@node1 data]# killall mysqld

[root@node1 ~]# chown -R mysql:mysql ./* 
[root@node1 ~]# ll /data/     
total 28704
-rw-rw---- 1 mysql mysql    16384 Apr 27 07:43 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Apr 27 07:43 aria_log_control
-rw-rw---- 1 mysql mysql 18874368 Apr 27 07:43 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Apr 27 07:43 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Apr 27 07:43 ib_logfile1
-rw-rw---- 1 mysql mysql      264 Apr 27 07:43 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Apr 27 07:43 mysql-bin.index
-rw-r----- 1 mysql mysql     2166 Apr 27 07:43 node1.anyisalin.com.err


[root@node1 data]# service mysqld restart
MySQL server PID file could not be found!                  [FAILED]
Starting MySQL.                                           [  OK  ]

MariaDB [(none)]> SHOW DATABASES; 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| employees          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec

使用CP进行备份,备份速度快、恢复速度也很快但是功能相对比较弱一般用于少量数据备份,但是xtrabackup 进行备份功能强大对于备份规模比较大的来说比较实用。

以上就是关于“MYSQL备份比较常用的2种方式”的相关解答如需购买测试PHP主机,推荐酷番云共享虚拟主机、独享IP虚拟主机齐备,各类配置均有,满足不同网站建设需求;另外提供免费虚拟主机,可供测试,让您快速上线网站。

选购地址:https://www.kufanyun.com/host/

图片来源于AI模型,如侵权请联系管理员。作者:路飞,如若转载,请注明出处:https://www.kufanyun.com/ask/1080.html

(0)
上一篇 2021年9月27日 16:42
下一篇 2021年9月29日 15:29

相关推荐

  • 小米盒子连接无线网络时,如何确保cdn服务稳定?

    在家庭娱乐系统中,小米盒子作为一款流行的智能电视盒子,其无线网络连接的稳定性和速度直接影响到用户的观看体验,本文将详细介绍如何连接小米盒子到无线网络,并进行CDN检测,以确保网络服务的质量,小米盒子无线网络连接步骤准备工作在开始连接之前,请确保您的无线网络已开启,并且您已经知道无线网络的名称(SSID)和密码……

    2025年12月2日
    01940
  • 一个月通过CDN服务能赚取多少收入?揭秘收益秘密!

    随着互联网的快速发展,内容分发网络(CDN)已经成为提高网站访问速度和用户体验的关键技术,许多企业和个人通过运营CDN服务获得了可观的收入,一个月通过CDN可以赚多少呢?以下是对这一问题的详细解答,CDN收入影响因素服务类型CDN服务类型多样,包括但不限于静态文件分发、动态内容分发、视频流分发等,不同类型的服务……

    2025年12月1日
    01690
  • 公众号服务号一天能发几条消息?服务号群发限制是多少

    公众号服务号一天能发多条消息吗?核心结论:不可以, 微信公众号的服务号在每天 24 小时内,仅能发送 1 条消息,这是微信官方制定的硬性规则,旨在平衡商业推广与用户体验,防止信息过载,任何声称可以突破此限制的技术手段或第三方工具,均存在极高的封号风险,这并不意味着服务号无法实现高频触达,通过构建私域流量池、优化……

    2026年4月19日
    0103
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • CDN服务器宕机背后真相,究竟为何宕机?如何有效解决?

    CDN服务器宕机原因分析分发网络)服务器宕机是指CDN服务无法正常工作,导致用户无法访问网站或应用的情况,以下是CDN服务器宕机的一些常见原因:硬件故障硬件故障是导致CDN服务器宕机的主要原因之一,以下是一些常见的硬件故障:硬盘损坏:硬盘损坏会导致数据丢失,服务器无法正常运行,内存故障:内存故障会导致服务器性能……

    2025年11月27日
    01090

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注