怎么定时自动备份mysql数据表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么定时自动备份mysql数据表相关的知识,希望对你有一定的参考价值。
参考技术A 一、对于Windows主机==============
假想环境:
mysql
安装位置:C:\MySQL
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqldump
–opt
-u
root
–password=123456
bbs
>
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)
二、对于Linux主机
===========
假想环境:
MySQL
安装位置:/usr/local/mysq
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:/var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqldump
–opt
-u
root
–password=123456
bbs
>
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&
将上述代码保存在/usr/local/sbin/backup_db.sh
对该脚本赋予执行权限:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自动执行:
#
crontab
-e
加入:
0
5
*
*
*
/usr/local/sbin/backup_db.sh 参考技术B 1、导出整个数据库:包括表结构和数据部分
mysqldump
-u
用户名
-p
数据库名
>
导出的文件名
例如:mysqldump
–u
root
–p
111111
test1
>
test.sql
2、导出数据库中的一个表
mysqldump
-u
用户名
-p
数据库名
表名>
导出的文件名
例如:mysqldump
–u
root
–p
111111
test1
user1>
test1_user1.sql
3、导出多张表:
mysqldump
–u
root
–p
111111
test1
user1
user2>
test1_user12.sql
4、导出一个数据库结构:只导出表结构,不包括数据部分
mysqldump
-u
root
–p
111111
-d
--add-drop-table
test1>c:\test1.sql
-d
没有数据
--add-drop-table
在每个
create
语句之前增加一个
drop
table,以便于在每次导入
表到数据库中时,如果发现某个表存在,先进行删除。
以上是关于怎么定时自动备份mysql数据表的主要内容,如果未能解决你的问题,请参考以下文章