• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP后台备份MySQL数据库的源码实例
    POST TIME:2021-10-18 04:35

    PHP 备份 mysql 数据库的源代码,在完善的 PHP+Mysql 项目中,在后台都会有备份 Mysql 数据库的功能,有了这个功能,对于一些不便自己写shell脚本备份的VPS来说,就不用使用 FTP 或者使用 mysql 的管理工具进行 mysql 数据库备份下载,非常方便。

    下面是一个php数据库备份的源代码,大家也可以根据自己的需求进行修改。

    ?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 "数据备份成功";
    ?>

    PHP执行Mysql数据库的备份和还原

    使用mysqldump命令备份

    mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

    mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

    mysqldump基本语法:

    mysqldump -u username -p password dbname table1 table2 ...-> BackupName.sql
    $exec="D:/phpstudy/mysql/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
    exec($exec);
    //前面要设置mysql执行文件的路径。

    注意:这里的-p后面的password不要有空格,否则可能只会生成空的sql文件,后面$name是生成文件路径及名称。

    简单的备份数据库就完成了。

    还原使用mysqldump命令备份的数据库的语法

    mysql -u root -p password dbname  backup.sql

    参数跟备份时一样,backup.sql是需要还原的数据库文件,文件路径为绝对路径。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

    您可能感兴趣的文章:
    • Thinkphp 框架基础之源码获取、环境要求与目录结构分析
    • php源码的安装方法和实例
    • php源码的使用方法讲解
    • PHP自动生成缩略图函数的源码示例
    • PHP json_encode中文乱码解决方法
    • 基于php解决json_encode中文UNICODE转码问题
    • 浅析PHP中json_encode与json_decode的区别
    • php让json_encode不自动转义斜杠“/”的方法
    • 关于php unset对json_encode的影响详解
    • PHP中让json_encode不自动转义斜杠“/”的方法
    • php json_encode与json_decode详解及实例
    • php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
    • java解析php函数json_encode unicode 编码问题
    • 源码分析系列之json_encode()如何转化一个对象
    上一篇:PHP5中使用mysqli的prepare操作数据库的介绍
    下一篇:PHP与Perl之间知识点区别整理
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信