Php 如何将数据库导出到另一台没有';不允许使用我的旧数据库名称创建新数据库?

Php 如何将数据库导出到另一台没有';不允许使用我的旧数据库名称创建新数据库?,php,mysql,phpmyadmin,hosting,host,Php,Mysql,Phpmyadmin,Hosting,Host,我想在另一台主机上创建我的站点的副本。我在两台主机上都有免费计划 我试图复制我的站点的新主机只允许创建一个名为xyzhost\u id.*的新数据库。但是我以前的数据库名是abchostid.* 我的abchostid_*数据库中有40多个表 我该怎么办?基本上,您可以将“xyzhost\u id\u”和“abchostid\u”视为表前缀。继续重命名表,并确保脚本在查询中具有新前缀。如果执行mysqldump,通常没有数据库信息,只有表架构。如果有创建数据库的选项,只需打开sql文件并删除它们

我想在另一台主机上创建我的站点的副本。我在两台主机上都有免费计划

我试图复制我的站点的新主机只允许创建一个名为
xyzhost\u id.*
的新数据库。但是我以前的数据库名是
abchostid.*

我的abchostid_*数据库中有40多个表


我该怎么办?

基本上,您可以将“xyzhost\u id\u”和“abchostid\u”视为表前缀。继续重命名表,并确保脚本在查询中具有新前缀。

如果执行mysqldump,通常没有数据库信息,只有表架构。如果有创建数据库的选项,只需打开sql文件并删除它们。它们看起来像“创建数据库您的数据库”和“使用您的数据库”。然后,使用phpmyadmin,您只需创建新数据库并加载SQL文件。

mysqldump-u root-p--opt[abchostid_*]>[abchostid_*].SQL
这是命令吗@dotcomsuperstar需要澄清的是,命名限制是表名还是数据库名?无论哪种方式,“mysqldump YOUR_DB_NAME-u root-p>dump.sql”都可以工作。然后,您可以在文件上使用“sed”(linux搜索和替换)重命名所有表(如果限制是在表名上),但如果您的正则表达式错误,则可能会把事情搞砸。由于只有40个表,我只需编辑转储并手动重命名表,确保更新任何外键(也称为约束),如果在新主机上没有phpmyadmin,请首先使用类似“创建数据库my_db”的内容创建数据库并将其加载为:mysql YOUR_DB_NAME-u root-p