zoukankan      html  css  js  c++  java
  • 数据备份

    通过使用exec()函数执行服务器里的外部程序,实现备份数据和恢复数据的操作。

    exec()函数语法如下

    string exec ( string command [, array &output [, int &return_var]] )
    

    参    数

    说    明

    command

    必选参数。字符串命令

    output

    可选参数。数组输出

    return_var

    可选参数。执行命令返回来的状态变量

    执行数据备份恢复操作之前首先要确立和数据库的链接,并且要定义服务器的目录,以及mysql命令执行文件的操作路径

    <?php 
      define('PATH',$_SERVER['DOCUMENT_ROOT']);                 		  //服务器目录
      define('ROOT','/mr/15/01/');                                            //论坛根目录
      define('ADMIN','admin/');                                               //后台目录
      define('BAK','sqlbak/');                                               //备份目录
      define('MYSQLPATH','F:\webpage\AppServ\MySQL\bin\');  		  //MySQL执行文件路径
      define('MYSQLDATA','db_forum');                                         //MySQL数据库
      define('MYSQLHOST','localhost');                                        //MySQL服务器ip
      define('MYSQLUSER','root');                                             //MySQL账号
      define('MYSQLPWD','');                                                  //MySQL密码
    ?>
    

     在确定与mysql数据库的链接和执行文件的路径之后,接下来就可以进行备份和恢复数据的操作。

    备份数据库主要应用的是mysql中的mysqldump命令,输入mysql数据库的用户名(root),服务器(localhost),和密码(为空),指定要备份的数据库(db_forum),确定数据库备份文件的名称和存储的位置(sqlbak/),最后通过exec()函数执行这个命令,代码如下

    <?php
      session_start();                                //初始化Session变量
      $conn=@mysql_connect("localhost","root","");        //连接数据库服务器
      mysql_select_db("db_forum",$conn);                  //连接指定的数据库
      mysql_query("set names utf-8");                    //对数据库中的编码格式进行转换,避免出现中文乱码的问题   //编写备份数据库的命令   $mysqlstr = MYSQLPATH.'mysqldump -u'.MYSQLUSER.' -h'.MYSQLHOST.' -p'.MYSQLPWD. ' --opt -B '.MYSQLDATA.' > '.PATH.ROOT.ADMIN.BAK.$_POST['b_name'];   exec($mysqlstr);            //执行备份数据库的命令   echo "<script>alert('备份成功');location='index.php?title=备份和恢复'</script>"; ?>

    恢复数据的操作使用的是mysql命令,输入mysql数据库的用户名(root),服务器(localhost),和密码(为空),指定要备份的数据库(db_forum),确定数据库备份文件的名称和存储的位置(sqlbak/),最后通过exec()函数执行这个命令,代码如下

    <?php
      session_start();                             //初始化Session变量
      $conn=@mysql_connect("localhost","root","");        //连接数据库服务器
      mysql_select_db("db_forum",$conn);                  //连接指定的数据库
      mysql_query("set names utf-8");                    //对数据库中的编码格式进行转换,避免出现中文乱码的问题   //编写恢复数据库的命令   $mysqlstr = MYSQLPATH.'mysql -u'.MYSQLUSER.' -h'.MYSQLHOST.' -p'.MYSQLPWD.' '.MYSQLDATA.' < '.PATH.ROOT.ADMIN.BAK.$_POST['r_name'];   exec($mysqlstr);                //执行恢复数据库操作的命令   echo "<script>alert('恢复成功');location='index.php?title=备份和恢复'</script>"; ?>
  • 相关阅读:
    第38周星期六小结
    第38周星期日小结
    第39周星期三熟悉java项目第一天小结
    第39周星期一今天开始用扇贝记单词
    第38周星期四电话会议忙碌的一天
    第38周星期二
    第38周星期三熟悉工程环境
    PHP实现图片的等比缩放和Logo水印功能示例
    微信授权登录微信公众号和PC端网站
    PHP实现购物车的思路和源码分析
  • 原文地址:https://www.cnblogs.com/aten/p/9059812.html
Copyright © 2011-2022 走看看