MYSQL 数据库的备份与恢复
物理备份1.冷备份2.热备份3.温备份
逻辑备份 完整备份 差异备份 增量备份
1、直接打包数据库文件,源码包的位置/usr/local/mysql/data/,rpm包的位置/var/lib/mariadb/
[root@localhost ~]# mysql -uroot -p123456 登录数据库
mysql> create database auth;
Query OK, 1 row affected (0.00 sec)
mysql> use auth;
Database changed
mysql> create table user(name char(10) not null,ID int(48));
Query OK, 0 rows affected (0.00 sec)
+------+------+
| name | ID |
+------+------+
| Rich | 123 |
+------+------+
1 row in set (0.00 sec)
mysql> exit 退出数据库
Bye
[root@localhost ~]# systemctl stop mysqld 停止mysql数据库
[root@localhost ~]# mkdir backup 创建文件
[root@localhost ~]# tar zcf backup/mysql_all-$(date +%F).tar.gz /usr/local/mysql/data/ 压缩
[root@localhost ~]# ls backup/ 查看文件内是否有备份的压缩包
mysql_all-2020-07-30.tar.gz
恢复数据
root@localhost ~]# mkdir restore 创建文件
[root@localhost ~]# tar xf backup/mysql_all-2020-07-30.tar.gz -C restore/ 解压备份压缩包
[root@localhost ~]# mv restore/usr/local/mysql/data/* /usr/local/mysql/data/
[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS! 成功
[root@localhost ~]# mysql -uroot -p123456 登录数据库
mysql> select * from auth.user; 查看是否成功
+------+------+
| name | ID |
+------+------+
| Rich | 123 |
+------+------+
1 row in set (0.05 sec)