我有一个drupal 7站点运行在一个was服务器上,它目前使用的是一个没有前缀的数据库。
我正在尝试从共享主机提供程序将该数据库还原到一个新的drupal实例。我正在使用备份和恢复模块来移动数据库。我无法明显控制的一件事是,他们的“快速安装脚本”创建了一个带有"drupal_“前缀的新drupal数据库。
我是否需要将我现有的数据库转换成具有该前缀,因为现在看来,我迁移的更改甚至没有被读取,因为它可能同时拥有两个站点的数据,并且我想要从其中读取条目的数据库信息没有前缀?这推理正确吗?如果是这样的话,我如何将我的Drupal数据库转换成相同的数据库,但现在使用必要的前缀呢?
发布于 2014-07-29 20:48:41
如果您有phpMyAdmin,最简单的方法是:
之后,请记住在site\default\settings.php中指定前缀
array (
'database' => 'sample_drupal_db',
'username' => 'sample_drupal_usr',
'password' => 'sample_drupal_pwd',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => 'prefix_', // <<== prefix here
),发布于 2013-03-20 15:49:42
你的推理对我来说是正确的。您可以尝试编辑数据库转储,在所有表名中添加前缀,然后再次运行导入。这当然会奏效,但也很容易犯错,所以在你成功之前,你可能会有一些尝试和错误。
另一个选择是使用像phpMyAdmin这样的工具进入新数据库,删除前缀表并修改添加前缀的非前缀表。
第三种方法(可能与您使用的自动安装程序发生冲突,也可能不发生冲突)是编辑settings.php并从数据库数组中删除前缀。虽然这可能是目前最快的解决方案,但我不确定它是否会在ling运行中持续,例如,当自动安装程序进行升级时。
发布于 2013-03-20 16:02:07
如果只是带有“drupal_”前缀的数据库,则不需要创建表前缀。
由备份和还原模块创建的数据库转储不包括任何数据库定义。
如果需要,可以提取mysqldump文件并将以下内容添加到文件的顶部:
CREATE DATABASE IF NOT EXISTS 'drupal_mydatabase';
USE 'drupal_mydatabase';否则,只需在settings.php中更改数据库凭据,并使用备份和还原模块重新加载数据库。
https://drupal.stackexchange.com/questions/66148
复制相似问题