用于将单个表导出到SQL文件的PHP脚本

时间:2014-01-01 13:21:34

标签: php mysql sql sql-server create-table

我想使用cron-job每天将单个表导出到SQL文件中进行备份 我一直在寻找一些脚本,而大多数脚本都不是那么用户友好。

我见过这个:http://help.1and1.com/hosting-c37630/linux-c85098/php-c37728/importing-and-exporting-mysql-databases-using-php-a595887.html

但它导出整个数据库(重约10GB),我需要导出一个16mb的表。

首选方法是使它看起来像普通的sql文件(就像Phpmyadmin导出的那样),如下所示:

 CREATE TABLE IF NOT EXISTS `parts` (
  `flag` char(1) NOT NULL DEFAULT '',
  `comp` int(10) NOT NULL DEFAULT '0',
  `name` varchar(255) NOT NULL DEFAULT '',
  `rname` varchar(255) NOT NULL DEFAULT '',
  `hname` varchar(255) NOT NULL DEFAULT '',

2 个答案:

答案 0 :(得分:2)

您只需更改此脚本并为表名添加参数

即可

例如更改字符串

$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ~/' .$mysqlExportPath;

$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' parts > ~/' .$mysqlExportPath;

parts是您的表名

答案 1 :(得分:1)

http://www.tutorialspoint.com/mysql/mysql-database-export.htm

你可以制作一个bash脚本,也可以使用exec()php函数。

<?php

exec('mysqldump -u XXXX -p XXXX [table_name] > [output file]')