导航:首页 > 编程语言 > php数据库备份与恢复

php数据库备份与恢复

发布时间:2022-09-09 16:15:53

① 如何用php进行数据备份

1、如果服务器允许mysqlmp 并且没有禁止PHP的shell_exec()这个函数的话
直接在PHP里面执行mysqlmp就可以了。

2、通过mysql_query('show tables')的返回值遍历每个表,循环对每个表使用查询语句
select * into outfile '路径/文件名' from 表名
缺点是这样得到的是纯数据,恢复数据的时候你需要额外再写脚本

3、同样通过show tables返回表名,遍历每个表,通过select 语句查询,然后逐条结果处理,比如手工添加drop table 和create table 以及insert into等等,然后再写入文件。这样得到的备份数据是比较接近mysqlmp的结果的,各种工具都可以用来恢复数据。缺点是如果数据库太大的话,效率不好说

② 什么是数据的备份与恢复

数据备份就是把一个数据库里的东西,在某个时间数据库管理软件复制完全另外一个一样的。

恢复是自从备份了数据库后,使用数据库的过程中发现出现了点小问题,导致数据库有些信息丢失了,并且现在的数据库中找不到这些信息了,这个时候就可以用备份的数据库来恢复下这些丢失的信息了。

数据丢失原因:

1、人为误操作,有时候在使用计算机的过程中不小心删除了文件,或者不小心将分区进行格式化操作,导致数据丢失。

2、恶意程序的破坏,最常见的恶意程序就是病毒。通常一般病毒是不会造成数据丢失的,但有些病毒有可能会造成硬盘锁死、分区丢失或数据丢失。

3、系统或软件错误,如在工作中,由于操作系统或应用程序自身存在的BUG引起的死机,会造成工作文档丢失等现象,还有在升级系统或更新应用程序时有时会带来一些如影响系统兼容性和稳定性的问题。

以上内容参考网络——数据恢复,网络——数据备份

③ php的后台为什么要对数据走备份和恢复的步骤

因为你在本地的时候,数据库是本地的。你在网上的时候,数据库是另一个了。所以你在本地修改的内容,和网上网站链接的数据库不在同一个地方。

所以,你要备份,把本地的数据抄袭一份,然后到了网上,再抄进网上那个数据库。

另外,弄到网上还需要重装,或者直接修改配置文件里的数据库帐号密码与网上的数据库对接上即可。

本地备份然后上传,网上还原,你在建站时候可以,但是将来数据多了,尽量不要如此。不然数据不一致会导致重要数据丢失。

④ php怎么备份数据库

1.打开数据库备份页面
//php代码,导出数据库
public function exportSql() {
$dbName = C('DB_NAME'); //读取配置文件中的数据库用户名、密码、数据库名
$dbUser = C('DB_USER');
$dbPwd = C('DB_PWD');
$fileName = date("Y-m-d")."_".$dbName.".sql";
$mpFileName = "./sql_backup/".$fileName;
exec("D:/xampp/mysql/bin/mysqlmp -u$dbUser -p$dbPwd $dbName > $mpFileName");
}

2.php exec函数,执行外部程序命令
exec(“D:/xampp/mysql/bin/mysqlmp -u$dbUser -p$dbPwd $dbName > $mpFileName”);
此处执行mysqlmp命令,导出数据库到$mpFileName中,“D:/xampp/mysql/bin/”为mysqlmp所在位置,“-u$dbUser -p$dbPwd”数据库的用户名和密码(中间不要加空格),$dbName为要导出数据库的名字

⑤ 如何进行数据库备份和恢复 mysql

MySQL备份和还原,都是利用mysqlmp、mysql和source命令来完成的。
1.Win32下MySQL的备份与还原
1.1 备份
开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqlmp -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqlmp -u root -p voice>voice.sql,然后输入密码即可开始导出。

1.2 还原
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2.Linux下MySQL的备份与还原
2.1 备份
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqlmp -u root -p voice>voice.sql,输入密码即可。
2.2 还原
法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

⑥ php,mysql数据库里,导出、导入数据库报错!怎样备份还原数据库

你这是主键重复了。如果要全部恢复,那你可以先将表中的数据都删除掉,然后整体恢复。如果只是选择性的恢复一条,那建议你还是手动操作吧。
你操作的表,设置了主键,而主键是不允许重复的。

⑦ php数据库备份还原失败~

php简单备份与还原MySql的方法具体如下:
一、备份:
<?php
header("content-Type:text/html;charset=utf-8");
//备份数据库
$host="localhost";
$user="root";//数据库账号
$password="123456";//数据库密码
$dbname="test";//数据库名称
//这里的账号、密码、名称都是从页面传过来的
if(!mysql_connect($host,$user,$password))//连接mysql数据库
{
echo'数据库连接失败,请核对后再试';
exit;
}
if(!mysql_select_db($dbname))//是否存在该数据库
{
echo'不存在数据库:'.$dbname.',请核对后再试';
exit;
}
mysql_query("setnames'utf8'");
$mysql="setcharsetutf8; ";
$q1=mysql_query("showtables");
while($t=mysql_fetch_array($q1)){
$table=$t[0];
$q2=mysql_query("showcreatetable`$table`");
$sql=mysql_fetch_array($q2);
$mysql.=$sql['CreateTable']."; ";
$q3=mysql_query("select*from`$table`");
while($data=mysql_fetch_assoc($q3)){
$keys=array_keys($data);
$keys=array_map('addslashes',$keys);
$keys=join('`,`',$keys);
$keys="`".$keys."`";
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("','",$vals);
$vals="'".$vals."'";
$mysql.="insertinto`$table`($keys)values($vals); ";
}
}
$filename="data/".$dbname.date('Ymjgi').".sql";//存放路径,默认存放到项目最外层
$fp=fopen($filename,'w');
fputs($fp,$mysql);
fclose($fp);
echo"数据备份成功";
?>
二、还原
<!--
author:果冻
qq:52091199
blog:http://wyg517.blog.163.com
-->
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<?php
$filename="test20101216923.sql";
$host="localhost";//主机名
$user="root";//MYSQL用户名
$password="123456";//密码
$dbname="test";//在此指定您要恢复的数据库名,不存在则必须先创建,请自已修改数据库名
mysql_connect($host,$user,$password);
mysql_select_db($dbname);
$mysql_file="data/".$filename;//指定要恢复的MySQL备份文件路径,请自已修改此路径
restore($mysql_file);//执行MySQL恢复命令
functionrestore($fname)
{
if(file_exists($fname)){
$sql_value="";
$cg=0;
$sb=0;
$sqls=file($fname);
foreach($sqlsas$sql)
{
$sql_value.=$sql;
}
$a=explode("; ",$sql_value);//根据"; "条件对数据库中分条执行
$total=count($a)-1;
mysql_query("setnames'utf8'");
for($i=0;$i<$total;$i++)
{
mysql_query("setnames'utf8'");
//执行命令
if(mysql_query($a[$i]))
{
$cg+=1;
}
else
{
$sb+=1;
$sb_command[$sb]=$a[$i];
}
}
echo"操作完毕,共处理$total条命令,成功$cg条,失败$sb条";
//显示错误信息
if($sb>0)
{
echo"<hr><br><br>失败命令如下:<br>";
for($ii=1;$ii<=$sb;$ii++)
{
echo"<p><b>第".$ii."条命令(内容如下):</b><br>".$sb_command[$ii]."</p><br>";
}
}//-----------------------------------------------------------
}else{
echo"MySQL备份文件不存在,请检查文件路径是否正确!";
}
}
?>

⑧ 用php程序写.sql文件还原恢复

你的这个备份文件应该是mysql的备份文件吧?

如果是的话,你既然可以备份了(你是调用mysqlmp备份的吧),那你也可以同理用mysql自带的命令进行恢复啊,下面列出2种单是在mysql环境下的恢复方法,你参考下:

1、你在程序中仿照cmd下dos的窗口那里调用命令:
mysql -uroot -p密码 db_name < 路径\xx.sql

2、你在程序中连接上mysql,然后发送SQL语句:

先转到你要恢复的库下:
use db_name

然后在该库环境下恢复:
source 路径\xx.sql

"不是调用mysqlmp呀
而是利用mysql的函数 把表和字段(包括类型等)很多信息 还有表内数据 一条一条的拼成的.sql文件。"
--------------------------------------
可想你自己多费事。
没必要这样处理嘛,就算现在很多提供图形界面进行备份的软件,也不像你这样写的,基本都是调用数据库系统本身提供的工具或命令直接完成的。再说,mysqlmp功能就比较多了,通过设置不同参数可以灵活的做到:备份某库、某表,或只要定义,不要数据,或只要数据,不要表定义等等。
这样备份的话,恢复也很简单,可以完全调用数据库系统本身提供的工具命令来完成恢复数据库。

⑨ PHP+MYSQL的数据库如何备份和还原

有很多软件可以使用,比如phpmyadmin,sqlyog等等
下载一个phpmyadmin并且配置好(网上有如何配置),其中就有备份还原数据库的图标,很简单
补充:----------------------
对啊,点导出,然后执行就可以了啊

阅读全文

与php数据库备份与恢复相关的资料

热点内容
编译器原理与实现书 浏览:708
dos选择命令 浏览:16
apm固件编译到单片机 浏览:120
联通深蓝卡都包含什么app 浏览:263
如何判断网络服务器正常 浏览:649
路由器搭桥远端服务器地址是什么 浏览:515
编译动态库时会连接依赖库吗 浏览:707
淘宝手机加密是随机的吗 浏览:672
解压包子怎么装饰 浏览:585
四个数凑24算法 浏览:676
哪一种不是vi编译器的模式 浏览:169
xp在此处打开命令窗口 浏览:128
代码编译运行用什么软件 浏览:999
动态库在程序编译时会被连接到 浏览:761
python超简单编程 浏览:260
获取命令方 浏览:977
怎样制作文件夹和图片 浏览:60
调研编译写信息 浏览:861
python冯诺依曼 浏览:419
同时安装多个app有什么影响 浏览:254