数据库备份

直接上代码

public function dataBackup(){
$doc_root=$_SERVER['DOCUMENT_ROOT'];
$file_path_name=$doc_root.'/sqlbackup';  //保存到的路径
$name='backup_'.date('YmdHis').".sql";
if(!file_exists($file_path_name)){mkdir($file_path_name,0777);}
$mysqldump_url='G:\phpstudy\PHPTutorial\MySQL\bin\mysqldump.exe';//mysqldump.exe的绝对路径,安装mysql自带的有,可以搜索一下路径
$host='127.0.0.1';//数据库所在的服务器地址
$User='root';//数据库用户名
$Password='root';//数据库密码
$databaseName='kuer';//数据库名
$process=$mysqldump_url." -h".$host." -u".$User." -p".$Password." ".$databaseName." >".$file_path_name."/".$name;
$er=system($process);//system()执行外部程序,并且显示输出
if($er!==false){
echo json_encode('success!');
}else{
echo json_encode('error!');
}
}

 

注:本地环境测试这个是可以的,上到linux环境后需要改一下MySQL文件的路径,$mysqldump_url路径改为

$mysqldump_url='/usr/bin/mysqldump';
就可以了。

 

在Linux上运行是显示成功但是没有sql文件

给文件夹赋权777还是没有

之后看了一下报错 :system() has been disabled for security reasons

百度一下解决

1、Warning: system() has been disabled for security reasons

该错误是由于服务器安全配置将system函数关闭了,编辑php.ini查找 disable_functions 将等号后面的 system 去掉即可。



 

posted @ 2019-11-04 15:44  blange  阅读(138)  评论(0编辑  收藏  举报