使用php将mysql dump导入到计算机上

时间:2015-01-15 17:30:58

标签: php mysql

我需要创建一个install.php文件,让我的讲师将数据库转储(我将提供)导入到他的机器上。

SQL转储将被称为dump.sql,我有一个包含凭据的config.php文件和应该用于导入sql转储的install.php。

的config.php

<?php
    //defining variables
    define('DB_HOST','localhost');
    define('DB_USER','root');
    define('DB_PASS','');
    define('DB_NAME','database'); 

    //connection to mysql server
    $conn=mysql_connect(DB_HOST, DB_USER, DB_PASS) or die ("Error connecting to server: ".mysql_error());
?>

install.php了

<?php

    include_once ('config.php');

    echo "starting install...";

    //insert dbdump in the same folder as install.php (put them in a separate folder)
    $command = "C:\xampp\mysql\bin\mysql -u".DB_USER." -p".DB_PASS." < dump.sql";
    //echo $command;
    exec($command, $output, $return_var);

    $output = shell_exec($command);

    if ($output) {
    echo "database created";
    }

?>

我正在使用$ command变量,因为我读到这是一个复制cmd命令的标准变量,但数据库仍未创建。

我测试了相同的命令“mysql -uroot&lt; C:\ xampp \ htdocs \ Recipes \ dump.sql”并且它可以工作。

任何人都可以指出问题所在吗?

由于

1 个答案:

答案 0 :(得分:0)

1。在xampp文件夹中找到mysql.exe:

E:\xampp\mysql\bin\mysql.exe

2。在xampp文件夹中打开CMD

E:\xampp\mysql\bin\mysql.exe

3。在CMD中使用以下内容

mysql -h localhost -u root -p

4。显示数据库

show databases;

示例:

 MariaDB [(none)]> show databases;
+--------------------------+
| Database                 |
+--------------------------+
| information_schema       |
| mysql                    |
| performance_schema       |
| phpmyadmin               |
| test                     |
+--------------------------+
7 rows in set (0.101 sec)

MariaDB [(none)]>

5。使用数据库

use databases;

示例

MariaDB [(none)]> use test
Database changed
MariaDB [test]>

6。转储数据库     然后最后给出sql文件的源路径

source E:\your\sql\file\path\mysqlfile.sql

示例

MariaDB [test]> >source E:\your\sql\file\path\mysqlfile.sql