数据备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据备份相关的知识,希望对你有一定的参考价值。

通过使用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变量
  [email protected]_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变量
  [email protected]_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>"; ?>

 

以上是关于数据备份的主要内容,如果未能解决你的问题,请参考以下文章

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

将代码片段插入数据库并在 textarea 中以相同方式显示

如何从 Firebase 获取数据到 Recyclerview 中的片段?

实用代码片段将json数据绑定到html元素 (转)

片段中的Firebase数据不是持久的,会重新下载

将数据从底部工作表对话框片段传递到片段