MySQL备份与恢复

数据备份的重要性

在企业中数据的价值至关重要,数据保障了业务的正常运行。因此,数据的安全性及数据的可靠性是运维的重中之重,任何数据丢失都可能对企业产生严重的后果。通常分为以下几种:

程序错误

人为操作的失误
运算失误
磁盘故障
灾难(如火灾,地震)和盗窃

数据库备份的分类

从物理与逻辑的角度,备份可以分为

物理备份:对数据库操作系统的物理文件(如数据文件,日志文件)的备份

物理备份的方法:

冷备份(脱机备份):是在关闭数据库的时候进行的

热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件

温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作

逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份

从数据库的备份策略角度,备份可分为

完全备份:每次对数据库进行完整的备份

差异备份:备份自从上次完全备份之后被修改过的文件

增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份

常见的备份方法

物理冷备份

备份时数据库处于关闭状态,直接打包数据库文件

备份速度快,恢复时也是最快,最简单的

专用备份工具mydump或者mysqlhotcopy0

(数据备份)
[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# mkdir /bak
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql  sbin  share  src
[root@localhost local]# tar zcvf /bak/mysql_$(date +%F).tar.gz mysql/

备注:
F:格式化,单独提取年月日

(模拟故障)
[root@localhost backup]# systemctl start mysqld
[root@localhost backup]# mysql -uroot -ppwd123 -e 'drop database auth;'
[root@localhost backup]# mysql -u root -ppwd123 -e 'select * from auth.users;'
-e 直接在系统命令行进行,无需进入MySQL命令行
(数据恢复)
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql/ mysql.bak
[root@localhost ~]# tar zxvf mysql_2024-06-26.tar.gz 
[root@localhost ~]# mv mysql /usr/local/

[root@localhost local]# systemctl restart mysqld
[root@localhost local]# mysql -uroot -ppwd123 -e 'select * from auth.users;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+------+
| id   | name |
+------+------+
|    1 | aaa  |
|    2 | bbb  |
|    3 | ccc  |
+------+------+


2.MySQLdump备份与恢复
(导出数据)
[root@localhost local]# mysqldump -uroot -ppwd123 auth users>/opt/auth-users.sql

语法解读:
将MySQL库中auth库中users表导出到opt目录下,重命名为auth-users.sql

[root@localhost opt]# mysqldump -uroot -ppwd123 auth>/opt/auth.sql      (导出数据库)
[root@localhost opt]# mysqldump -uroot -ppwd123  --opt--all-databases>/opt/all-data.sql    (备份所有数据库)
备注:--opt:表示优化执行速度

(导入表)
已存在现有的数据库,可以将表导入任何现有的数据库
[root@localhost opt]# mysql -uroot -ppwd123 -e 'create database test';     (新建库)
root@localhost ~]# mysql -uroot -ppwd123 test</opt/auth-users.sql      (导入到其他库[root@localhost ~]# mysql -uroot -ppwd123 auth < /opt/auth-users.sql   ##导入到原始所在的库[root@localhost ~]# mysql -u ro

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值