mysqldump备份与恢复

本文主要解决,两台mysql主机,一台在服主机,一台备份主机,日常定时备份。环境是debain系统,以及安装mariadb数据库。

1、备份主机的数据库conf文件中,本系统的路径是/etc/mysql/mariadb.conf.d/50-client.cnf 

添加远程链接的账号密码。

[client]
#password	= [your_password]
port		= 3306
socket		= /tmp/mysql.sock
#以下是添加部分
host=在服主机地址
user=root
password=123456

2、写一支dbBackup.sh脚本,远程抽取 在服主机 的数据,并备份至指定文件夹,共享给大家:

#!/bin/bash
#decription:mysql-order automatically backup script

#声明变量,指定数据库名
backupDatabase=mydb
#声明变量,指定表,若全表备份,则置空
#backupTables=""  
fileName=${backupDatabase}`date +%Y%m%d`   

#定义baseDir变量,指定存放位置
baseDir=/srv/backup/

#备份数据库
mysqldump --defaults-extra-file=/etc/mysql/mariadb.conf.d/50-client.cnf ${backupDatabase} >${baseDir}${fileName}.sql

#压缩
tar -zcPvf ${baseDir}${fileName}.sql.tar.gz ${baseDir}${fileName}.sql

#删除刚备份的sql文件,留下压缩的
rm -f ${baseDir}${fileName}.sql;

#删除7天前备份的数据,只保留一周的数据
find ${baseDir} -mtime +3 -name "${backupDatabase}*.tar.gz" -exec rm -rf {} \;

#删除7天前的日志数据,只保留一周的日志数据 已在mysql设置失效时间,只保存30内的日志
#find /var/lib/mysql/ -mtime +7 -name "mariadb-relay-bin.*"  -exec rm -rf {} \;

3、将dbBackup.sh脚本添加至定时任务中。

输入命令:crontab -e,并添加如下命令


# 每天2时0分备份
0 2 * * * /bin/bash /usr/local/bin/dbBackup.sh

4、第二天就会指定的文件里,查看到备份的打包文件了。

5、若遇到 在服主机 数据库损坏,恢复操作如下:

在linux终端中,输入命令:mysql -u root -p --default-character-set=utf8 order < E:/backup/dbabck.sql

回车后输入密码 10086

6、最后分享下sqldump的相关语法:

 1.导出指定表的数据

     mysqldump -t database -u username -ppassword --tables table_name1 table_name2 table_name3 >D:\db_script.sql

 2.导出指定表的结构

    mysqldump -d database -u username -ppassword --tables table_name1 table_name2 table_name3>D:\db_script.sql

 3.导出表的数据及结构

    mysqldump  database -u username -p password --tables table_name1 table_name2 table_name3>D:\db_script.sql

 4.若 数据中 ,某些表除外,其余表都需导出

    mysqldump -h IP -u username -ppassword --default-character-set=utf8 --database database_name --ignore-table=database_name.table_name1

    --ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 >D:\db_script.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个高效工作的家伙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值