已经完成了这个家伙,我做了我是已经建立了一个本地应用到我的本地服务器,那么该应用程序正在执行FTP服务,将更新的数据库从本地生物识别数据库上传到在线Web服务器。
一旦完成所有这些,我创建了一个PHP脚本将加载使用cron作业的.SQL文件。大家都知道cron作业是用于控制脚本和执行其他linux命令的时间预定事件。
我将分享我的PHP文件的代码,所以大家谁遇到这种可以在将来使用它。
date_default_timezone_set('Asia/Taipei');
$CurTime = date('Y-m-d H:i:s');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link){
die('Failed to connect to server: ' . mysqli_error());
}
//Select database
$db = mysqli_select_db($link,DB_DATABASE);
if(!$db){
//Do auto download of database in the Server automatically
if(file_exists('Database/'.DB_DATABASE.'.sql')){
mysqli_query($link,"CREATE DATABASE ".DB_DATABASE);
$db = mysqli_select_db($link,DB_DATABASE);
$readContent = file_get_contents("Database/".DB_DATABASE.".sql");
$res = mysqli_multi_query($link,$readContent) or die(mysqli_error($link));
mysqli_close($link);
} else {
die("Unable to select database, Please call your system administrator. Thank you.");
}
}
function Reload_Database($DBLink){
if(file_exists($DBLink)){
//mysqli_query($link,"DROP DATABASE ".DB_DATABASE);
//mysqli_query($link,"CREATE DATABASE ".DB_DATABASE);
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db = mysqli_select_db($link,DB_DATABASE);
$readContent = file_get_contents($DBLink);
$res = mysqli_multi_query($link,$readContent) or die(mysqli_error($link));
mysqli_close($link);
return 'Database Reloaded';
} else {
die("Unable to reload database, Please call your system administrator. Thank you.");
}
}
echo Reload_Database('../employee/database/'.DB_DATABASE.'.sql');
这是基本脚本,它将重新加载从本地应用程序给出的上传数据库的数据库。
从这里cron作业会尽自己的努力。预计我的本地应用程序也是一个服务,只会上传本地生物特征数据库的更新数据库。
是不是没有用户交互的Mysql事件?它充当一种Cronjob –
你有权访问服务器上的'mysqldump'吗? – mulquin
但是从这个问题来看,数据库的位置并不完全清楚:访问是在你的办公室的某个地方?就像一个Mysql数据库和你的PHP一样。目标是在互联网上的某个数据库? –