Linux mysql数据备份与恢复

基础备份

mysqldump [OPTIONS] database [tables ...] //备份某张表
mysqldump [OPTIONS] --all-databases [OPTIONS] //全量备份
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] //备份某个库

//常用的OPTIONS:
-uUSERNAME //指定数据库用户名
-hHOST //指定服务器主机,请使用ip地址
-pPASSWORD //指定数据库用户的密码
-P# //指定数据库监听的端口,这里的#需用实际的端口号代替,如-P3307

数据恢复

  • 恢复数据库时
[root@localhost ~]#mysql -uroot -p (-h127.0.0.1) < all-201808131500.sql
  • 恢复表时
[root@localhost ~]#mysql -uroot -p (-h127.0.0.1) 库名< all-201808131500.sql

差异备份与恢复

mysql差异备份

  • 开启MySQL服务器的二进制日志功能
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
user = mysql
pid-file = /tmp/mysql.pid
skip-name-resolve

server-id=1         //设置服务器标识符
log-bin=mysql_bin    //开启二进制日志功能

[root@localhost ~]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
  • 完全备份
[root@localhost ~]# mysqldump -uroot -pwangqing123! --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs > all-201902211406.sql
  • 修改数据库

  • 刷新创建新的二进制日志

[root@localhost ~]# mysqladmin -uroot -pwangqing123! flush-logs

3.4.2. mysql差异备份恢复

  • 恢复完全备份
[root@localhost ~]# mysql -uroot -pwangqing123! < all-201902211406.sql
  • 恢复差异备份
    检查误删数据库的位置在什么地方
[root@localhost ~]# mysql -uroot -pwangqing123!
mysql> show binlog events in 'mysql_bin.000001'\G

使用mysqlbinlog恢复差异备份

[root@localhost ~]# mysqlbinlog --stop-position=794 /opt/data/mysql_bin.000001 |mysql -uroot -pwangqing123!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值