使用 php 将 mysql dump 导入到机器上


Import mysql dump into onto a machine using php

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

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

配置.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());
?>

安装.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 <C:''xampp''htdocs''Recipes''dump.sql",它可以工作。>

谁能指出问题可能是什么?

谢谢

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

E:'xampp'mysql'bin'mysql.exe

2.在xampp文件夹中打开CMD

E:'xampp'mysql'bin'mysql.exe

3.In 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