php实现数据库备 php数据库配置文件
用PHP怎么将MYSQL中的指定数据库备份下来
下载phpmyadmin ,他是用php语言开发的管理mysql的工具,有导出、导入等功能,解压复制一份到你的任意一个网站目录下,通过目录访问就可以了,
镜湖网站建设公司成都创新互联,镜湖网站设计制作,有大型网站制作公司丰富经验。已为镜湖千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的镜湖做网站的公司定做!
当然你也可以使用帝国的数据库备份工具,也很方便的,特别是对于数据库备份这个功能,比phpmyadmin还强大 予学PHP培训
如何用PHP来实现MySQL备份
备份数据库并下载到本地【db_backup.php】
?php
// 设置SQL文件保存文件名
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql";
// 所保存的文件名
header("Content-disposition:filename=".$filename);
header("Content-type:application/octetstream");
header("Pragma:no-cache");
header("Expires:0");
// 获取当前页面文件路径,SQL文件就导出到此文件夹内
$tmpFile = (dirname(__FILE__))."\\".$filename;
// 用MySQLDump命令导出数据库
exec("mysqldump -u$cfg_dbuser -p$cfg_dbpwd --default-character-set=utf8 $cfg_dbname ".$tmpFile);
$file = fopen($tmpFile, "r"); // 打开文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?
php实现mysql数据库分表分段备份
分卷导出思路:统计sql语句变量的长度,按1个字符当成1
字节比较,如果大于设定分卷大小,则写入一个sql文件(我也不知道这样统计是否稳当,这也是借鉴其他的人的)。
分卷导入思路:按行读取sql文件,将每一行当作完整的sql语句存到数组再循环执行插入数据库就可以了,但是在创建表语句分了多行,这个需要单独处理(就这个花了我好长时间的);
?php
//宋正河
转载请注明出处
set_time_limit(0);
header('content-type:text/html;charset=utf-8');
mysql_connect('localhost','root','root');
mysql_select_db('test');
$table_array=get_tables('test');
mysql_query('set
names
utf8');
$filesize=1024*1024*4;
$start=$_GET['start']?$_GET['start']:0;
$part=$_GET['part']?$_GET['part']:'1';
$table_index=$_GET['table_index']?$_GET['table_index']:'0';
$table=$table_array[$table_index];
$num=200000000;//这个数要足够大,可以是总记录数
$backupdata='';
if($start=='0'){
$query="SHOW
CREATE
TABLE
`{$table}`";
$result
=
mysql_query($query);
$row
=
mysql_fetch_row($result);
$backupdata
.=
"DROP
TABLE
IF
EXISTS
`{$table}`;\n"
.
$row[1]
.
";\n\n";
}
$limit=($start=='0')?'':"
limit
$start,$num
";
$query="select
*
from
`{$table}`
$limit
";
$result=mysql_query($query);
$numfields
=
mysql_num_fields($result);
//统计字段数
while($row=mysql_fetch_row($result)){
$comma
=
'';
//存储逗号
$backupdata_tmp
=
"INSERT
INTO
`{$table}`
VALUES
(";
for($i=0;
$i$numfields;
$i++){
$backupdata_tmp
.=
$comma
.
"'"
.
mysql_escape_string($row[$i])
.
"'";
$comma
=
',';
}
$backupdata_tmp
.=
");\n";
if(strlen($backupdata)+strlen($backupdata_tmp)
$filesize){
//写入文件并跳转
$file='data/'.$table.'-'.$part.'.sql';
file_put_contents($file,$backupdata);
echo
$file.'
备份完成,程序继续进行!';
$part++;
//分段
//表名
//起点
//跳转
sleep(3);
echo
"scriptlocation.href='?start={$start}table_index={$table_index}part={$part}';/script";
exit;
}
$backupdata.=$backupdata_tmp;
$start++;
}
if($backupdata){
$file='data/'.$table.'-'.$part.'.sql';
file_put_contents($file,$backupdata);
}
echo
$table.'备份完成!br
/';
sleep(2);
$table_index++;
if($table_array[$table_index]){
echo
"scriptlocation.href='?table_index={$table_index}';/script";
exit;
}else{
echo
'恭喜你,数据库备份完毕!';
}
function
get_tables($db){
$tq
=
mysql_list_tables($db);
while($tr
=
mysql_fetch_row($tq)){
$arrtb[]
=
$tr[0];
}
return
$arrtb;
}
?
以上所述就是本文的全部内容了,希望大家能够喜欢。
请问如何用php写一个类,备份所有的数据库呢?
主要是个mysql dump操作,将数据库的数据完整导入到txt或者其他文件中就可以的,和php的类相关很小啊,就是函数和mysql操作写对了就好
如何用PHP来实现 备份 mysql 数据库的 功能 ? 就是鼠标单击 让此项目的数据库自动保存到相应的文件夹?
我想到的有三种思路吧
1.如果服务器允许mysqldump 并且没有禁止PHP的shell_exec()这个函数的话
直接在PHP里面执行mysqldump就可以了。
2.通过mysql_query('show tables')的返回值遍历每个表,循环对每个表使用查询语句
select * into outfile '路径/文件名' from 表名
缺点是这样得到的是纯数据,恢复数据的时候你需要额外再写脚本
3.同样通过show tables返回表名,遍历每个表,通过select 语句查询,然后逐条结果处理,比如手工添加drop table 和create table 以及insert into等等,然后再写入文件。这样得到的备份数据是比较接近mysqldump的结果的,各种工具都可以用来恢复数据。缺点是如果数据库太大的话,效率不好说
总之我不推荐用PHP来实现mysql数据的备份,如果可能的话还是用mysqldump吧
phpcmsv9数据库备份在哪
phpcms可以使用多备份进行数据库备份
根据phpcms的运行环境,可以选择web模式备份或者客户端备份
虚拟主机环境可以选择web模式备份。登陆多备份官网后进入多备份控制面板,如果是首次登陆会有备份环境选项,选择保护服务器
选择web模式,然后选择数据库备份。如果非首次登陆直接选择添加,然后选择数据库备份
选择好以后添加数据库参数,选择备份频率,创建任务即可。
如果是服务器环境,首先进入多备份控制面板,首次登陆会有备份环境,然后选择保护服务器,下载对应的客户端。如果非首次登陆,直接下载左下角的客户端
下载好以后解压,打开dbfen.exe,然后登陆多备份账号,选择数据库备份,然后填入数据库参数,选择备份频率,即可开始备份
网站栏目:php实现数据库备 php数据库配置文件
文章地址:http://azwzsj.com/article/hheegi.html