如何通过命令行导出/导入WordPress(MySQL)数据库?

时间:2012-12-06 作者:its_me

通常,可以使用以下简单的SSH命令导出和导入MySQL数据库:

Export:

mysqldump -u USERNAME -p DATABASE_NAME > filename.sql

Import:

mysql -u USERNAME -p DATABASE_NAME < filename.sql
但说到WordPress,就没那么简单了。据我所见,需要提及其他参数,例如--add-drop-table 例如。

WordPress Codexprovide some info, 但它看起来杂乱无章,不够清晰。

如果使用命令行的人可以共享适当的命令来导出和导入WordPress数据库,并对(使用的任何新参数)进行一些解释,那就太好了。

还有,有什么理由不建议在处理数据库时使用命令行,而使用像phpMyAdmin这样的GUI?

3 个回复
最合适的回答,由SO网友:Steve Claridge 整理而成

对Wordpress来说也很简单。我使用以下方法备份我的WP站点:

mysqldump -u <user> -p<pass> --quick --extended-insert <db-name> > backup.sql
The mysqldump document 提供所有参数的详细信息。

--extended-insert 从转储文件更新DB时速度更快,并使转储文件更小。

--quick 使转储的创建更快。

你真的不需要使用这两种语言中的任何一种,只需要让事情变得更快一点,为每一行写一个insert只会让我感觉更快乐——你原来的dump语法就可以了。

不要忘记,数据库中有特定于域的条目,因此,如果您使用此方法进行备份/恢复,那么您就可以了,但如果您想从其中一个移动。通讯到2。com,则需要在中编辑条目wp_options 恢复转储后。

SO网友:markcbain

在花时间学习了命令行的基础知识之后,我现在越来越少地使用phpMyAdmin。但是,当我需要浏览或编辑条目(例如编辑wp_options 条目,如Steve上文所述)。当我想排除一个不需要备份的特别大的表(比如插件的日志)时,我也经常使用GUI。但我发现你可以加上

--ignore-table=my_db_name.my_table_name my_db_name

SO网友:user3548101

用于将站点复制到新位置。

如果要导入到空数据库,请使用--在导出期间添加drop table。omit—如果要导入以合并数据库,请在导出期间添加drop table。

记住每次导入后都要更新wp\\u选项,因为路径不同。此外,请更新。具有新路径的htaccess文件。

结束

相关推荐

当我从WordPress中的远程MySQL数据库中提取数据时,内置的WordPress功能不工作吗?

在我的一个页面中,我必须从远程mysql数据库获取数据。通过创建$wpdb类的新实例,我们可以连接到远程mysql数据库。$mydb=新wpdb(DB\\U USER2、DB\\U PASSWORD2、DB\\U NAME2、DB\\U HOST2);$post\\u author=$mydb->get\\u row(“从wp\\u users中选择display\\u name,其中ID=1”);上述查询工作正常。但是,当我们使用get\\u the\\u author\\u meta或the\\