2017-07-19 52 views
0

我需要知道,如果有可能使用加载数据在文件语法的代码语句创建MySQL事件。MySQL的 - 创建事件和LOAD DATA INFILE到服务器自动

这是我目前的情况。

  1. 我可以使用PHP从本地生物特征数据库的数据库(MS Access)。

  2. 我在本地数据库服务器是MySQL现在更新数据库。

  3. 我可以通过先出口,然后它的在线数据库服务器中导入数据库更新我的目标在线数据库服务器。

我的主要问题是我怎么能没有任何用户交互 如MySQL事件特色管理呢?

我想从我的电脑(本地服务器)数据上传到我们的域名(Web服务器)

+0

是不是没有用户交互的Mysql事件?它充当一种Cronjob –

+0

你有权访问服务器上的'mysqldump'吗? – mulquin

+0

但是从这个问题来看,数据库的位置并不完全清楚:访问是在你的办公室的某个地方?就像一个Mysql数据库和你的PHP一样。目标是在互联网上的某个数据库? –

回答

0

已经完成了这个家伙,我做了我是已经建立了一个本地应用到我的本地服务器,那么该应用程序正在执行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作业会尽自己的努力。预计我的本地应用程序也是一个服务,只会上传本地生物特征数据库的更新数据库。