专栏首页雨落凋殇[源代码]Mysql备份(导出为sql)

[源代码]Mysql备份(导出为sql)

网上找的源码,感觉很实用。故分享出来。(PHP源码)

$host = "localhost";
$user = "root"; //数据库账号
$password = ""; //数据库密码
$dbname = "mysql"; //数据库名称
// 这里的账号、密码、名称都是从页面传过来的
if (!mysql_connect($host, $user, $password)) // 连接mysql数据库
    {
        echo '数据库连接失败,请核对后再试';
    exit;
} 
if (!mysql_select_db($dbname)) // 是否存在该数据库
    {
        echo '不存在数据库:' . $dbname . ',请核对后再试';
    exit;
} 
mysql_query("set names 'utf8'");
$mysql = "set charset utf8;\r\n";
$q1 = mysql_query("show tables");
while ($t = mysql_fetch_array($q1))
{
    $table = $t['0'];
    $q2 = mysql_query("show create table `$table`");
    $sql = mysql_fetch_array($q2);
    $mysql .= $sql['Create Table'] . ";\r\n";
    $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 .= "insert into `$table`($keys) values($vals);\r\n";
    } 
} 
$filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层
$fp = fopen($filename, 'w');
fputs($fp, $mysql);
fclose($fp);
echo "数据备份成功";

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • emlog5.3.1升级到emlog6.0

    对比下emlog5.3.1和emlog6.0.0发现程序变化不大,主要是对tag标签进行了优化。

    似水的流年
  • emlog数据迁移到typecho

    emlog2typecho 是一个用python写的脚本,用来迁移Emlog的数据库到Typecho。正如你所看到的这个网站我的博客,就是用它迁移过来的,相信你...

    似水的流年
  • hibernate自动建表

    表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!

    似水的流年
  • python测试开发django-72.删除表后如何重新生成表

    在使用ORM建表的时候,由于需要对数据库表的重新设计,需要删除原表,并通过Django的ORM功能重新同步表。

    上海-悠悠
  • java8的parallelStream和strem

    java8除了新增stream,还提供了parallel stream-多线程版的stream,parallel stream的优势是:充分利用多线程,提高程序...

    似水的流年
  • Redis RDB 持久化详解

    Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。

    remcarpediem
  • Hbase初识

    最近有用到Hbase,整理了下Hbase的架构,整体思路可以看之前的NoSQL概述NoSQL概述-从Mongo和Cassandra谈谈NoSQL。

    方丈的寺院
  • Python又一神作,轻量级DB操作库--records

    日常工作中一不小心就要操作MySQL这样的数据库,之前使用过的MySQL库包括pymysql、MySQLdb、sqlarchemy。虽然都可以使用并能满足日常的...

    上帝De助手
  • Mysql在字段现有内容后面追加内容

    在发布系统中所有前置任务里面增加一些内容,发布系统中大约有200+的项目,手动是不可能手动的,只有在数据库中操作了。

    行 者
  • Python学习之Django切换MySQL数据库

    我们使用Django 来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Py...

    小柒2012

扫码关注云+社区

领取腾讯云代金券