首页 php教程 php手册 PHP备份/还原MySQL数据库的代码

PHP备份/还原MySQL数据库的代码

Jun 21, 2016 am 08:55 AM
cfg file gt mysql

以下是代码:

一、备份数据库并下载到本地【db_backup.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;
?>


二、还原数据库【db_restore.php】

复制代码 代码如下:



【数据库SQL文件】:


// 我的数据库信息都存放到config.php文件中,所以加载此文件,如果你的不是存放到该文件中,注释此行即可;
require_once((dirname(__FILE__).'/../../include/config.php'));
if ( isset ( $_POST['sqlFile'] ) )
{
$file_name = $_POST['sqlFile']; //要导入的SQL文件名
$dbhost = $cfg_dbhost; //数据库主机名
$dbuser = $cfg_dbuser; //数据库用户名
$dbpass = $cfg_dbpwd; //数据库密码
$dbname = $cfg_dbname; //数据库名

set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
$fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库
mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库

echo "

正在清空数据库,请稍等....
";
$result = mysql_query("SHOW tables");
while ($currow=mysql_fetch_array($result))
{
mysql_query("drop TABLE IF EXISTS $currow[0]");
echo "清空数据表【".$currow[0]."】成功!
";
}
echo "
恭喜你清理MYSQL成功
";

echo "正在执行导入数据库操作
";
// 导入数据库的MySQL命令
exec("mysql -u$cfg_dbuser -p$cfg_dbpwd $cfg_dbname echo "
导入完成!";
mysql_close();
}
?>



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Debian Strings能否兼容多种浏览器 Debian Strings能否兼容多种浏览器 Apr 02, 2025 am 08:30 AM

“DebianStrings”并非标准术语,其具体含义尚不明确。本文无法直接评论其浏览器兼容性。然而,如果“DebianStrings”指的是在Debian系统上运行的Web应用,则其浏览器兼容性取决于应用本身的技术架构。大多数现代Web应用都致力于跨浏览器兼容性。这依赖于遵循Web标准,并使用兼容性良好的前端技术(如HTML、CSS、JavaScript)以及后端技术(如PHP、Python、Node.js等)。为了确保应用与多种浏览器兼容,开发者通常需要进行跨浏览器测试,并使用响应式

Beego ORM中如何指定模型关联的数据库? Beego ORM中如何指定模型关联的数据库? Apr 02, 2025 pm 03:54 PM

在BeegoORM框架下,如何指定模型关联的数据库?许多Beego项目需要同时操作多个数据库。当使用Beego...

Debian Strings在网站中如何应用 Debian Strings在网站中如何应用 Apr 02, 2025 am 08:21 AM

本文探讨如何在Debian系统上优化网站性能。“DebianStrings”并非标准术语,可能指的是Debian系统中用于提升网站性能的工具或技术。以下是一些实用技巧:一、Web服务器及PHP环境配置建议使用宝塔面板简化安装和配置过程。推荐安装Nginx1.22.1作为Web服务器,PHP8.2作为脚本解释器,以及MySQL10.7.3-MariaDB作为数据库系统。务必启用必要的PHP扩展,例如fileinfo、opcache、memcached、red

Debian日志中有哪些关键信息不可忽视 Debian日志中有哪些关键信息不可忽视 Apr 02, 2025 am 08:12 AM

Debian系统的日志文件是系统管理员和开发者诊断问题、监控系统运行状态的宝贵资源。本文将重点介绍一些不容忽视的关键日志信息。核心系统日志(通常位于/var/log/syslog或/var/log/messages)这些日志记录了系统的核心活动,包括:系统启动和关机事件:记录内核版本、硬件检测结果等,帮助追踪启动失败或关机异常。硬件故障警报:例如磁盘错误、内存问题等,及时发现硬件潜在问题。服务状态变化:记录服务的启动、停止和重启事件,方便监控服务运行状况。用户登录/注销记录:

在Go编程中,如何正确管理Mysql和Redis的连接与释放资源? 在Go编程中,如何正确管理Mysql和Redis的连接与释放资源? Apr 02, 2025 pm 05:03 PM

Go编程中的资源管理:Mysql和Redis的连接与释放在学习Go编程过程中,如何正确管理资源,特别是与数据库和缓存�...

Go语言函数参数传递:为什么指针变量在函数内修改后外部却不变? Go语言函数参数传递:为什么指针变量在函数内修改后外部却不变? Apr 02, 2025 am 09:21 AM

Go语言中函数参数传递的疑惑:指针变量为何未被修改?本文将针对一个Go语言程序中关于指针变量赋值的问题�...

使用 sql.Open 时,DSN 传空为什么不报错? 使用 sql.Open 时,DSN 传空为什么不报错? Apr 02, 2025 pm 12:54 PM

使用sql.Open时,DSN传空为什么不报错?在Go语言中,sql.Open...

高并发下单如何避免数据库瓶颈? 高并发下单如何避免数据库瓶颈? Apr 02, 2025 am 09:03 AM

高并发环境下的订单处理:如何避免数据库瓶颈?在电商系统中,下单操作往往涉及到减库存和更新用户余额等...

See all articles