1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php实现mysql数据库分表分段备份

php实现mysql数据库分表分段备份

时间:2021-07-09 07:17:50

相关推荐

php实现mysql数据库分表分段备份

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;

}

?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。