mysql数据库备份

Posted ubeing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库备份相关的知识,希望对你有一定的参考价值。

原文https://www.cnblogs.com/yourblog/archive/2019/02/15/10381962.html

在开始备份之前,请锁定需要备份的实例

mysql> LOCK INSTANCE FOR BACKUP; 

执行备份,完成后解锁实例

mysql> UNLOCK INSTANCE;

mysqldump工具备份
备份整个数据库

$> mysqldump -u root -h host -p dbname > backdb.sql

备份数据库中的某个表

$> mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql

备份多个数据库

$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

备份系统中所有数据库

$> mysqldump -u root -h host -p --all-databases > backdb.sql

备份全部数据库的数据和结构

mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

备份全部数据库的结构(加 -d 参数)

mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

备份全部数据库的数据(加 -t 参数)

mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql


定时备份 (shell脚本)

vim backupdb.sh
创建脚本内容如下:
#!/bin/sh
db_user="root"
db_passwd="123456"
db_name="userdb"
name="$(date +"%Y%m%d%H%M%S")"
/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql
说明:
/usr/bin/mysqldump :mysql数据库安装目录下的mysqldump备份工具路径
dbname :需要备份的数据库名字
/home/backup/$name.sql :备份文件输出位置,可以根据情况自行设定
2. 给shell脚本添加执行权限
chmod u+x backupdb.sh
3. 给脚本添加定时任务
crontab -e 输入上一行命名进行编辑定时任务,最后添加如下内容 00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh 上面的定时任务意思是每天凌晨1点会执行自动备份脚,进行SQL数据库的定时备份
 格式如下:minute hour day month week command

 

1. 创建shell脚本

1
2
3
4
5
6
7
8
9
10
11
12
vim backupdb.sh
创建脚本内容如下:
#!/bin/sh
db_user="root"
db_passwd="123456"
db_name="userdb"
name="$(date +"%Y%m%d%H%M%S")"
/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql
说明:
/usr/bin/mysqldump :mysql数据库安装目录下的mysqldump备份工具路径
dbname :需要备份的数据库名字
/home/backup/$name.sql :备份文件输出位置,可以根据情况自行设定

2. 给shell脚本添加执行权限

1
chmod +x backupdb.sh 过后可以运行一下,测试是否成功

3. 给脚本添加定时任务

1
2
3
4
crontab -e 编辑任务 crontab -l 查看任务
输入上一行命名进行编辑定时任务,最后添加如下内容
00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh
上面的定时任务意思是每天凌晨1点会执行自动备份脚,进行MySQL数据库的定时备份.
crontab -l 查看任务

以上是关于mysql数据库备份的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

部分代码片段

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

如何用Java实现MySQL数据库的备份和恢复

Java 备份mysql数据库的问题

web服务文件更新自动同步数据库主从复制shell脚本实现网站代码备份和mysql备份