首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出SQL数据库

导出SQL数据库
EN

Stack Overflow用户
提问于 2013-03-05 20:16:41
回答 4查看 3.9K关注 0票数 1

在phpMyAdmin中,可以选择将整个表(或数据库)导出到.SQL文件中。

我不知道他们是如何做到这一点的--因为我想把它嵌入到CRON作业中,对数据库进行每日和每周的备份。但是似乎没有任何一条命令可以做到这一点--不是吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-05 20:26:14

使用mysqldump

代码语言:javascript
复制
  mysqldump -h hostname -u user -pPassword dbname >/path/to/file

如果host是localhost,则host是可选的。根据某些设置,用户和密码可能也是可选的。注意:您可能需要添加日期名称

代码语言:javascript
复制
  mysqldump -h hostname -u root mydb > /path/to/backup/$(date +%a)
票数 1
EN

Stack Overflow用户

发布于 2013-03-05 20:45:56

您可以使用PHP运行这些命令,将以下代码复制到一个文件中,并使用cron job执行该文件。

代码语言:javascript
复制
<?php

//Backup:

//ENTER THE RELEVANT INFO BELOW
$mysqlDatabaseName ='databasename';
$mysqlUserName ='username';
$mysqlPassword ='password';
$mysqlHostName ='localhost';
//$mysqlExportPath ='database.sql';

$mysqlImportFilename ='myownsit_obsolcms.sql';

//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output=array(),$worked);
switch($worked){
    case 0:
        echo 'Import file <b>' .$mysqlImportFilename .'</b> successfully imported to database <b>' .$mysqlDatabaseName .'</b>';
        break;
    case 1:
        echo 'There was an error during import. Please make sure the import file is saved in the same folder as this script and check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Filename:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
        break;
}



//Restore:
$mysqlExportPath ='path_to_file/database.sql';

//DONT EDIT BELOW THIS LINE
//Export the database and output the status to the page
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' admin contents categires google_map cms_labels news pages page_contents partners photos plugins products social testimonials themes users youtube> ~/' .$mysqlExportPath;
//$command = "$ mysqldump -u $mysqlUserName -p $mysqlPassword $mysqlDatabaseName > myownsit_obsolcms.sql";
exec($command,$output=array(),$worked);
switch($worked){
    case 0:
        //echo 'Database <b>' .$mysqlDatabaseName .'</b> successfully exported to <b>~/' .$mysqlExportPath .'</b>';
        break;
    case 1:
        echo 'There was a warning during the export of <b>' .$mysqlDatabaseName .'</b> to <b>~/' .$mysqlExportPath .'</b>';
        break;
    case 2:
        echo 'There was an error during export. Please check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
        break;
}
?>
票数 3
EN

Stack Overflow用户

发布于 2013-03-05 20:19:55

是的,mysqldump:http://linuxcommand.org/man_pages/mysqldump1.html

不过,您需要有服务器访问权限才能使用它。此外,如果您喜欢冒险,并且想要保持一致的备份,请查看有关主/从设置的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15223600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档