php教程|php手册
php备份mysql
php教程-php手册
影视网页源码,vscode断点php调试,ubuntu 安装游戏,tomcat服务怎么停,爬虫 综述,php 5.5 手册,律师网络推广seo,网站首页加载动画,织梦视频模板下载lzw
本文给大家分享的是php实现mysql数据库分卷备份,选择表进行备份,实现单个sql文件及分卷sql导入。有需要的小伙伴可以参考下
帝国cms 导航网站源码,利用vscode写html,ubuntu关syslog,tomcat应用慢,sqlite编辑器黑屏,用爬虫爬取网页时,ci php 手册,seo兼职平台营销,网站导航栏怎么做,怎么破解网页试看次数,登陆界面css模板lzw
安卓高仿天天动听源码,vscode新窗口,ubuntu msf,tomcat 攻击记录,sqlite 查看表的字段,joomla产品展示插件,前端现在都用框架了吗,财务数据可以爬虫吗,php读取目录文件,漳州自助建站seo,盗号网站源码,html网页自动答题,phpmps 模板lzw
分卷导出思路:统计sql语句变量的长度,按1个字符当成1 字节比较,如果大于设定分卷大小,则写入一个sql文件(我也不知道这样统计是否稳当,这也是借鉴其他的人的)。
分卷导入思路:按行读取sql文件,将每一行当作完整的sql语句存到数组再循环执行插入数据库就可以了,,但是在创建表语句分了多行,这个需要单独处理(就这个花了我好长时间的);
<?php//宋正河 转载请注明出处set_time_limit(0);header(content-type:text/html;charset=utf-8);mysql_connect(localhost, oot, oot);mysql_select_db( est);$table_array=get_tables( est);mysql_query(set names utf8);$filesize=1024*1024*4;$start=$_GET[start]?$_GET[start]:0;$part=$_GET[part]?$_GET[part]:1;$table_index=$_GET[ able_index]?$_GET[ able_index]: ;$table=$table_array[$table_index];$num=200000000;//这个数要足够大,可以是总记录数$backupdata=\;if($start== ){$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== )?\:" 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 $filesize){
//写入文件并跳转
$file=’data/’.$table.’-‘.$part.’.sql’;
file_put_contents($file,$backupdata);
echo $file.’ 备份完成,程序继续进行!’;
$part++;
//分段
//表名
//起点
//跳转
sleep(3);
echo “location.href=’?start={$start}&table_index={$table_index}&part={$part}’;”;
exit;
}
$backupdata.=$backupdata_tmp;
$start++;
}
if($backupdata){
$file=’data/’.$table.’-‘.$part.’.sql’;
file_put_contents($file,$backupdata);
}
echo $table.’备份完成!
‘;
sleep(2);
$table_index++;
if($table_array[$table_index]){
echo “location.href=’?table_index={$table_index}’;”;
exit;
}else{
echo ‘恭喜你,数据库备份完毕!’;
}
function get_tables($db){
$tq = mysql_list_tables($db);
while($tr = mysql_fetch_row($tq)){
$arrtb[] = $tr[0];
}
return $arrtb;
}
?>
以上所述就是本文的全部内容了,希望大家能够喜欢。