现在遇到个问题,从其他数据库生成了sql脚本,然后现在需要把脚本上传到另一台机器上,然后用SHELL来执行,
虽然可以用MYSQL远程账号,本地写程序解决,但是假如脚本很大,本地不可能一直开着程序,所以考虑把脚本上传到服务器,然后用SHELL执行,不知道大家有没有类似的问题,给些代码片段,我没有接触过SHELL。 
小的,在此先谢谢大家了

解决方案 »

  1.   

    服务器导入mysql数据的命令是
    mysql -u帐号 -p密码 数据库名 < 数据库sql文件
    如:
    mysql -uroot -p123456 bo56 < /home/bb.sql
      

  2.   

    是啊,要转移数据。在描述一下是,本地他们整理的词典,会预先在本地的MYSQL数据库中跑一次,完全成功之后,再把脚本生成出来,上传到服务器,然后执行
      

  3.   

    这个例子是从PHP手册上改编来的,大概的思路就是这样
    //这是HTML页面上显示的上传Form
    <!-- The data encoding type, enctype, MUST be specified as below -->
    <form enctype="multipart/form-data" action="upload.php" method="POST">
        <!-- MAX_FILE_SIZE must precede the file input field -->
        <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
        <!-- Name of input element determines name in $_FILES array -->
        Send this file: <input name="userfile" type="file" />
        <input type="submit" value="Send File" />
    </form>
    //这是处理上传的PHP程序upload.php
    <?php
    // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
    // of $_FILES.$uploaddir = '/var/www/uploads/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);echo '<pre>';
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo "File is valid, and was successfully uploaded.\n";
    } else {
        echo "Possible file upload attack!\n";
    }
    //================这是调试信息,可以不写=========
    echo 'Here is some more debugging info:';
    print_r($_FILES);
    //============================================
    print "</pre>";//文件上传后可以执行这个脚本
    $result = system('/var/www/uploads/$uploadfile', $retval);echo $result;?>
      

  4.   

    如果都是linux可以用system('ssh user@ip shell') ,刚才在本地虚拟LINUX上执行成功
    现在在写PHP函数,不知道是否可以 本机是W7
      

  5.   

    windows7一样的,php是跨平台的,但是你的windows下得有ssh程序
      

  6.   

    #7楼的可行
    你的系统十分不是的,和你的客户端是win7没有关系试试吧!
      

  7.   

    #7楼的可行
    你的系统是分布式的,和你的客户端是win7没有关系试试吧!
      

  8.   

    额,写个php,在本地用浏览器调用该php页面,让php去执行