如何使用 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 数据库及其数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 phpMyAdmin 自动导出 mySQL 数据库