【问题标题】:PHP script for exporting a single table to SQL file用于将单个表导出到 SQL 文件的 PHP 脚本
【发布时间】:2014-01-19 01:56:44
【问题描述】:

我想每天使用 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 '',

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 我猜“u”代表用户,“p”代表密码,但不应该有插入数据库的地方吗?
    • 是的 -u [username] -p [password] 并且可以在 table_name 前面加上 db 例如 database_here.table_name_here
    【解决方案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 是您的表名

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多