如何使用 php 脚本导出和导入 mysql 数据库及其数据?

Posted

技术标签:

【中文标题】如何使用 php 脚本导出和导入 mysql 数据库及其数据?【英文标题】:How to export and import mysql database with its data using php script? 【发布时间】:2012-04-18 16:28:40 【问题描述】:

我被要求使用 php 脚本而不是 phpmyadmin 创建一个导出和导入 mysql 数据库及其结构和数据到一个 .sql 文件中,以使用户能够备份他的数据?

有人知道怎么做吗?

提前致谢

【问题讨论】:

必须只是 PHP 吗?可以一直使用mysqldump,如果需要是PHP脚本,可以通过exec使用mysqldump。 Easy way to export a SQL table without access to the server or phpMyADMIN、php code to mysql database export、Best practice: Import mySQL file in PHP; split queries 和可能的many others 的重复。 【参考方案1】:

安全有效的解决方案

EXPORT_TABLES("localhost","user","pass","db_name"); 
// has 5th and 6th optional parameters too.

最新版本在 github 上可用: Export.php + Import.php

【讨论】:

谢谢!这是最好的代码。因为其他代码与“exec”或“system”功能一起使用。Linux 主机上禁用了此功能。但是这个脚本可以在 Linux 主机上运行。 太棒了...感谢分享此代码 Mr.tazo...它对我来说非常有用...谢谢。 太棒了,它非常有用。【参考方案2】:

http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/using-php-to-backup-mysql-databases.aspx

要么

$tableName  = 'mypet';
$backupFile = 'backup/mypet.sql';
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip >     $backupFile";
system($command);

【讨论】:

任何人都知道如何通过 php 脚本将其导入 phpmyadmin 看教程。有一个"LOAD DATA INFILE 'backupFile' INTO TABLE $tableName";section。【参考方案3】:

这是一个很好的课程,对我来说效果很好。 如果显示 fopen 访问被拒绝,请尝试更改文件夹权限。

https://github.com/clouddueling/mysqldump-php

【讨论】:

以上是关于如何使用 php 脚本导出和导入 mysql 数据库及其数据?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库脚本用命令导入数据库时不能正确导入

如何使用 phpMyAdmin 自动导出 mySQL 数据库

如何导入MySQL数据库

关于mysql转移数据库时没有导出sql脚本的情况下,如何导入数据到新的数据库中

如何导出数据库文件?

mysql 中文乱码 如何恢复