MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe

数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要select与lock table的权限就足够了。

所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

MySQLdump是备份MySQL数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。

在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——root,密码为:hust。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为db_test的数据库,并把备份文件放到D:\bak\的文件夹中。于是我们可以用以下的方法执行备份恢复操作:

1.数据的备份

在命令行模式下完成对数据的备份,使用的是
MYSQLDUMP 命令。通过该命令可以将数据以文 本文件的形式存储到指定的文件夹下。

说明:要在命令行模式下操作
MySQL 数据库, 必须要对电脑的环境变量进行设置 ,右击 “我的电脑” ,

在弹 出的快捷菜单 中选择 “ 属性”
命令,在弹出的对话框 中选择 “ 高级” 选项卡,然后在新弹出的

对话框 中单击 “环境变量” 按钮,在用 户变量的文本 框中找到变量 PATH 并选中,单击 “
编辑”按

紐,在变量 PATH 的变量值文本框中添加
“D:\AppServ\MySQL\bin” ( MySQL 数据库中

bin 文件 夹的安装路径 ),然 后单击 “确定
”按紐。其中添加的 bin 文件夹的路径根据自己安装 MySQL

数椐库的位置而定,
(如果不想配置”环境变量“,则要定位到MySQLdump.exe所在的目录打开命令提示符,只要在所在目录按住shift键右键即可找到”在此处打开命令提示符“)

注意 :

如果使用集成化的安装包来配置 PHP 的开发坏境,那
么就不需要进行上述的配置操作, 因为

集成化安装包 已经自行配置 完成。但是,如果是独立安装的
MySQL, 那 么就必须进行上述的 配置,

才能在命令行模式下操作 MySQL
数据库。

通过 MYSQLDUMP
命令备份整个数据库的操作步骤如下:

(1)我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

MySQLdump -uroot
-phust -h 192.168.1.2 db_test >
D:\bak\bakcup.sql

在这段命令中:

MySQLdump 是myqldump的程序名了;(这里我用的是集成开发环境D:\AppServ\MySQL\bin目录下)

-u 是数据库的用户名,后面紧跟着用户名root;

-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

-h 是数据库的地址,如果没有此项表明是备份本地的数据库;

db_test 要备份的数据库名称;

backup.sql  备份之后的文件,后缀也可以是.txt

>
表明该MySQL数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

一旦执行该命令后,MySQLdump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。

在windows下用MySQLdump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的MySQL数据库备份文件。

(2)在PHP中备份数据库

前面介绍的是从windows的”命令提示符“备份数据库,那么在PHP中如何实现呢?

在PHP中备份数据库,主要通过exec( )函数执行系统命令

exec()函数的格式为:

string
exec(string command)

参数command为要执行的系统命令。这里为备分数据表的命令,下面举例说说明:

<?php

$filename =$_POST[filename];//这里是用户输入的数据库的备份名

$mysqlstr = "mysqldump -uroot -phust db_wms >sql/".$_POST[filename];//这里使用的是相对路径,(我将mysqldump.exe 复制到了本php文件路径下)
//这里未指定主机,默认本机
 //$mysqlstr = "mysqldump -uroot -phust db_wms >D:/AppServ/www/wms/system/sql/".$_POST[filename];

exec($mysqlstr);//
 echo "<script>alert(‘数据备份成功!‘);window.location=‘../desk.php‘;</script>";
?>

2.数据的恢复

(1)使用windows自带的命令提示符

用的是 MySQL 命令。其命令格式如下:

mysql -uroot -proot db_database <F:\db_database.sql "

其中 mysq丨 是使用的命令, -u 后的 root 代表用户名 ,-p 后的 root 代表密码,db

database 代表数据库名 (或 表名), “<” 号后面的 “F:\db_database.txt” 是数据库备份文件存储的位置。

下面介绍实现数据库恢复的操作步骤:

(1)选择 “ 开始”/ “ 运行”命令。

(2)在弹出的对话框中输入 “cmd” ,单击 “ 确定”按钮,进入命令行模式。

( 3 ) 在命令行模式中直接输入 “ mysql -uroot-proot db_database<F:\db_database.txt ”, 然后"Enter"

(2)在PHP中恢复数据库

<?php

$mysqlstr = "mysql -uroot -phust db_wms<sql/".$_POST[r_name];//$_POST[r_name]//为用户选择的用来恢复的文件名

//echo $mysqlstr;

exec($mysqlstr);

echo "<script>alert(‘恢复成功‘);location=‘../desk.php‘</script>";

?>

来自为知笔记(Wiz)

时间: 2024-07-30 13:35:45

MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe的相关文章

MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe

数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要select与lock table的权限就足够了. 所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏. MySQLdump是备份MySQL数据库的一种好工具.它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以

mysql数据库备份及恢复命令mysqldump,source的用法

还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile&qu

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.特点: Mysql是开源的,所以你不需要支付额外的费用.Mysql支持大型的数据库.可以处理拥有上千

MySQL数据库的灾难备份与恢复

http://xiaorenwutest.blog.51cto.com            MySQL数据库的灾难恢复与备份 数据库对于公司来说是重中之重:记录着公司的庞大数据,关系到公司的财产,以及客户的资料,如果一旦丢失将会为公司造成无法估量的损失. 但是如果做好备份工作可以避免这种情况的发生:所以说作为一名合格的DBA人员来说掌握数据库的备份和回复是必不可少的技能.另外在工作当中公司也会进行一些计划:比如说数据库的灾难与恢复的测试.今天为大家带来的就是关于MySQL的备份与恢复. 一:我

mysql逻辑备份与还原工具mysqldump

(一)mysqldump介绍 mysqldump是MySQL自带的逻辑备份工具,类似于Oracle的expdp/impdp,mysqldump备份十分灵活,可以在以下级别对数据库进行备份: 实例下的所有数据库 某个或某几个数据库 某个数据库中的表 某个数据库中的表的某些记录 mysqldump的备份结果集有两种文件:一种是将数据转换为标准的SQL语句,另一种是按照指定的分隔符,输出为特定格式的平面文件. (二)mysqldump的用法 可以直接使用mysqldump命令查看mysqldump的用

Mysql数据库备份的问题:mysqldump: Got error: 1049

今天进行Mysql数据库备份时出现了下面的问题:mysqldump: Got error: 1049: Unknown database 'blog;' when selecting the database,大致意思是找不到blog数据库,可是blog数据库却是真实存在的,搞得人甚是郁闷. 后来费了好大劲才找到了解决办法.出现上面错误提示的原因是通过DOS运行mysql命令的情况下,相当于没有进入mysql环境,不能再在命令行结束处 加分号:,直接属于命令行即可!

暂时解决MySQL数据库无法利用远程工具连接

这段时间时间在使用MySQL数据库的时候发现一个问题.如果是一个局域网中的另一个电脑利用SQLyog工具来连接MySQL数据库就出现无法连接的问题 解决的方式: 以权限用户root登录 选择mysql库 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) 修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 刷新MySQL的系统权限相关表 再重新查看user表时,有修改 重起mysql服务即可完成 实现步骤: 第一步: mysql -u r

java语言利用MySQL数据库自带的DATE_SUB()函数查询一周、一个月、半年、一年之内的数据记录

在JSP页面中根据论坛帖子的发帖时间查询帖子记录,前台JSP页面代码如下: <s:form id="postTime" action="findPostByTime" method="post" theme="simple" target="mFrame"> <table class="tab_data" width="70%" > <t

安装完MySQL数据库,在服务列表里找不到MySQL的解决办法

安装MySQL数据库完成后,在控制面板的服务列表里找不到MySQL服务启动项解决方案:(参考以下命令) 1.打开cmd,切换到mysql的bin目录下 (dos命令切换目录||1.cd\ 返回到根目录,2.cd 文件名  进入到指定文件目录下) 2. D:\Program Files\MySQL5.1\bin>mysqld.exe -install Service successfully installed.  (注意了:如果此结果不是Service successfully installe