AWSの1つのRDSインスタンスに複数のデータベースを使用するDrupal Multi-Siteを設定した経験はありますか?
私は以下のこのリンクを調べていましたが、正確なフォーマットに慣れていませんでした: https://www.drupal.org/node/18429
これが私のフォーマットです:
$databases = array (
'default' => // main drupal db starts from here
array (
'default' =>
array (
'database' => 'PubDB',
'username' => 'PubUser',
'password' => 'PASSWORD',
'Host' => 'pubtest.amazonaws.com',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
),
),'careers' => // additional database starts here
array (
'default' =>
array (
'database' => 'careers', // additional database name
'username' => 'PubUser', // additional database username
'password' => 'PASSWORD', // additional database password
'Host' => 'pubtest.amazonaws.com',
'port' => '3306',
'driver' => 'sql', //the file is in sql format
'prefix' => '',
)
),
);
そして、私のdatabase.incファイルに私は持っています:
function db_set_active($key = 'careers') {
return Database::setActiveConnection($key);
}
db_set_active();
ついに手に入れました。 :)
VPCでRDSを実行した手順は次のとおりです。
RDS MySQLにログインするには:
mysql -h RDSEndPoint.rds.amazonaws.com -P 3306 -u MasterUser -p
を投げ捨てます
mysql -u MasterUser -p -h RDSEndPoint.rds.amazonaws.com DB_Name_on_MySQL < /my/file/location/SQL_FILE.sql (You might need to change the .sql to .mysql)
に
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'DB_Name_on_MySQL',
'username' => 'MasterUser',
'password' => 'PASSWORD',
'Host' => 'RDSEndPoint.rds.amazonaws.com',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
),
),
);
次のエラーが表示される場合があります( https://www.drupal.org/node/2394349 ):
コマンドupdatedbを実行するには、より高いbootstrapレベルが必要です。このコマンドを実行するには、より機能的なDrupal環境からdrushを呼び出す必要があります。[エラー]
Drushコマンド 'updatedb'を実行できませんでした。 [エラー]
A Drupalインストールディレクトリが見つかりませんでした[エラー]
各サイトのindex.phpファイルがある場所で、次の2つのコマンドを実行できます。
drush dl rules
drush updatedb
これであなたのサイトを見ることができるはずです!何か足りない場合は、後で参照できるように追加していただければ幸いです。