数据库的备份与恢复

备份方式:

物理备份: cp tar

备份所有的mysql数据
1.创建一个文件夹
2.复制mysql到文件夹
3.可以tar压缩也可以不压缩
4.scp传给要恢复备份的服务器

mkdir /dbbak
 ls 
 ls /dbbak
 cp -r /var/lib/mysql /dbbak
 ls /dbbak
 tar -zcvf /dbbak/mysql.tar.gz  /var/lib/mysql
 ls /dbbak/
 scp -r /dbbak/mysql.tar.gz  root@192.168.4.51:/root/
 scp -r /dbbak/mysql  root@192.168.4.51:/root/
 ls mysql
 ls /dbbak/mysql

物理恢复

1.先把mysql程序停掉
2.删除mysql文件
3.把从第一台服务器上的mysql放到/var/lib/
4.设置所属组和所属主为mysql
5.启服务

ls
systemctl  stop mysqld
 ls /var/lib/mysql
 rm -rf /var/lib/mysql
 cp -r mysql /var/lib/
 ls /var/lib/mysql
  chown  -R mysql:mysql  /var/lib/mysql
  systemctl start mysqld
  ps -C mysqld
  mysql -u root -p"abc123...A"

逻辑备份:mysqldump mysql

1.完全备份

备份时库名的表示方式
–all-databases 或 -A //所有库
数据库名 //单个库
数据库名 表名 //单张表
-B 数据库1 数据库2 //多个库
命令格式:
mysqldump -u用户 -p密码 库或表 > /目录

[root@mysql50 ~]# mysqldump -uroot -pabc123...Q -A > /dbbak/all.sql

[root@mysql50 ~]# mysqldump -uroot -pabc123...Q -B mysql db3 > /dbbak/twodb.sql

[root@mysql50 ~]# mysqldump -uroot -pabc123...Q db3 > /dbbak/db3.sql

[root@mysql50 ~]# mysqldump -uroot -pabc123...Q db3 user > /dbbak/db3_user.sql

[root@mysql50 ~]# ls /dbbak/
all.sql  db3.sql  db3_user.sql  mysql  mysql.tar.gz  twodb.sql

1.完全恢复

mysql> create database db5;
Query OK, 1 row affected (0.13 sec)

[root@mysql50 dbbak]# mysql -u root -pabc123...A db5 < /dbbak/db5.sql
mysql: [Warning] Using a password on the command line interface can be insecure.

1.确认结果

mysql> create database db5;
Query OK, 1 row affected (0.13 sec)

mysql> use db5;

mysql> show tables;
+---------------+
| Tables_in_db5 |
+---------------+
| user          |
+---------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值