MySQL逻辑备份单表恢复

假设要从一个MySQL整库的逻辑备份中恢复其中的一张表,如何做到快速恢复呢?

下面通过巧妙利用授权的方式,快速从逻辑备份中恢复想要的表。

一. 数据库备份
mysqldump -ubackup -ppassword -S /data/3316/logs/mysql.sock -B --flush-privileges --single-transaction --master-data=2 --triggers -f -R -E --hex-blob --databases employees sakila |gzip >>`date +%F`.sql.gz

gunzip -c 2018-01-09.sql.gz >recover.sql

二、数据恢复

1.创建备份用户

CREATE USER 'restor_user'@'localhost' IDENTIFIED BY 'its_password';

2.赋予用户select所有数据库和表的权限.

GRANT SELECT ON *.* TO 'restor_user'@'localhost';

3.赋予恢复用户对要恢复表ALL的权限

GRANT ALL ON employees.departments TO 'restor_user'@'localhost';

4.恢复单表数据

mysql -uroot -p123456 -S /data/3306/logs/mysql.sock -e "CREATE DATABASE IF NOT EXISTS employees;" 
mysql -urestor_user -pits_password -S /data/3316/logs/mysql.sock --force < /home/mysql/recover.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值