你的位置:首页 > 数据库

[数据库]Mysql备份数据库的一种方法

今天添加了一个数据库自动备份的模块,mysql数据备份的方法有很多,可以对单个数据库备份,可以多个数据库备份,也可以对某一个表进行备份,可以只备份数据库的
结构不备份数据,可以根据需要做不同处理,正好现在有点时间,简单的记录一下最为简单的一种备份方法。

Mysql版本:5.1

1.利用mysqldump对mysql数据库进行备份
mysqldump是一个单独的可执行程序,并非mysql运行时的一个命令,使用mysqldump时,如果是在Windows下下,需要先在环境变量中添加到系统路径,然后就能通过命令行进行备份操作
查看mysqldump的使用方法:
命令行输入命令 mysqldump --help
备份某个数据库:
mysqldump -hhost -uusername -ppswd databasename > path//backupfile.sql
-h指定主机名,上面host表示主机名,如果是本机,可以指定为 localhost,如果是远程登录,用目标主机的IP地址即可
-u指定用户名,上面username表示用户名
-p指定用户的登录密码,上面pswd表示用户username的登录密码
databasename 表示要备份的数据库名称
符号 > 是重定向符号,使用它,后面可以指定要转储的文件及路径
path是路径,例如f://databasebackup
backupfile.sql转储后的文件名称,备份后的数据是以mysql的脚本实现的,里面包含了创建表和数据的sql语句

例如:当前本机上要备份的数据库是 testDB,将其备份到f盘根目录下的testDB.sql文件,假设root用户的密码为888888
在命令行下输入:
mysqldump -hlocalhost -uroot -p888888 testDB > f:/testDB.sql

2.利用刚才备份的文件,使用source命令还原数据库
利用source命令还原数据库的时候有2个条件:
1)成功登录到mysql上面.
2)数据库必须存在,但是不能有相应的表和数据,只是一个空名字,原因是利用上面的方法备份得到的是mysql的脚本,里面是创建表和插入数据的sql语句,利用备份文件进行还原的
时候实际上是执行一连串的sql语句.

例如:要还原上面的数据库testDB
命令行输入以下命令
1)登录mysql
mysql -hlocalhost -uroot -p888888
2)删除原来的数据库
drop database testDB
3)创建要恢复的数据库
create database testDB2
4)选择数据库
use testDB2
5)从利用source命令和sql脚本创建表和导入数据
source f:/testDB.sql

Tip:有时候会忘了相关命令的参数信息,只需要记住Help选项和命令即可查看自带的帮助信息

例如: mysqldump --help就会显示一大堆关于mysqldump的使用描述,然后就能根据需要进行操作
登录上mysql后还能利用help命令查看某个sql语句的信息,例如:help select 就会看到select
语句的语法信息,真的很方便!