数据备份
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 中以相同方式显示