質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

1356閲覧

【AWS】EC2からRDSへの移行後、フリーワード検索ができなくなりました。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/07/12 05:34

###前提・実現したいこと
mysql5.7のデータをEC2からRDSへと移行してから、フリーワード検索ができなくなりました。

更新したファイルはlaravelにある「.env」のみで、また変更したコードは以下の箇所のみとなります。

現在、フリーワード検索ができなくなった原因と解決策の両方が不明で、非常に困っております。

ご教授お願い致します。

###該当のソースコード

PHP

1DB_HOST=***.rds.amazonaws.com(エンドポイント) 2DB_PORT=3306 3DB_DATABASE=*** 4DB_USERNAME=**** 5DB_PASSWORD=*****

###補足情報(言語/FW/ツール等のバージョンなど)
フレームワークはlaravelです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

問題の切り分けとして、原因と解決策の両方が不明との事でひとまず考えられる検証としては、

  1. RDSのDBデータ自体にはアクセスできているのか

一度シンプルなLaravelプロジェクトで、.envとconfig/databaseをRDS用に設定して、routes/console.phpにでも、簡単なDBアクセスのコードを書いて検証すると良いかと思います

また.envファイルを変更した場合は、設定を反映するためにWebサーバーの再起動が必要です

2.エラーログの確認

laravelプロジェクトの、storage/logsにエラーログなどが無いか確認してみてください
データ移行時にテーブル不足や外部キー制約エラーなどでうまく移行できていない事があるかもしれません

3.RDSのMySQLの設定を調整する

RDSのウェブコンソールより「Parameter Groups」を変更することによりMySQLの設定が変更できるので、time_zoneや文字コードの設定などで、移行前と差異があるのかもしれません
Parameter Groups設定の参考Web記事

4.フリーワード検索システムに関して

MySQLのLike検索やFULLTEXTインデックスで無く、フリーワード検索機能が別の検索システムと連携している場合は、正常に動作しているか確認する必要があると思います。

等が思いつきましたので、ご確認ください

投稿2017/07/12 06:20

aro10

総合スコア4106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aro10

2017/07/12 06:22

書き込み中に既にmoonphaseさんの回答で解決したかもしれませんが、参考までにどうぞ
退会済みユーザー

退会済みユーザー

2017/07/12 06:23

ご回答ありがとうございます。 まず、パラメータグループの変更から試みてゆきます。
退会済みユーザー

退会済みユーザー

2017/07/12 06:36

パラメータグループをmy.cnfと一致させましたが、フリーワード検索はできませんでした。 my.cnfにはなかったので、time_zoneの変更を行っておりませんが、調べて変更すべきでしょうか?
退会済みユーザー

退会済みユーザー

2017/07/12 06:40

1.DB自体にはteratermを経由してアクセスできております。 2.エラーログは残っておりませんでした。 4.FULLTEXTインデックスですので、別のアプローチが求められると思います。
guest

0

ベストアンサー

移行前のmy.cnfと移行先のRDSのパラメータグループの内容は同一になっていますか?

投稿2017/07/12 05:55

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/12 05:58

ご回答ありがとうございます。 RDSのパラメータグループですが、デフォルトで登録をしてあります。 こちらを同一に設定すれば、直るということでしょうか?
moonphase

2017/07/12 06:03

直るかどうかはわかりませんが、デフォルトのままですとそもそも日本語がうまく扱えません。 特に注意すべきは show variables like 'char%'; で表示されるValueについて、移行元と合わせましょう。 合わせた後にデータのロードからやり直しましょう。
退会済みユーザー

退会済みユーザー

2017/07/12 06:08

かしこまりました。 ありがとうございます。 データのロードというのはRDSのインスタンスを再起動するということであっていますでしょうか?
moonphase

2017/07/12 06:10

mysql5.7のデータをRDSに移したと思いますが、そのデータを移す作業を念のためやり直したほうが良いです。
退会済みユーザー

退会済みユーザー

2017/07/12 06:14

ありがとうございます。 こちらの都合で簡単にはデータの移行ができないのですが、パラメータグループの変更から行ってみてもよろしいでしょうか?
moonphase

2017/07/12 06:20

良いと思います。 パラメータグループの変更後、RDSの再起動を実施してください。
退会済みユーザー

退会済みユーザー

2017/07/12 06:25

かしこまりました
退会済みユーザー

退会済みユーザー

2017/07/12 06:28

moonphase様 言語を移行元と合わせる等、一致させましたが、やはりフリーワードでの検索ができませんでした。
moonphase

2017/07/12 06:49

カラムのエンコーディングは移行元と移行先で同じになっていますか?
退会済みユーザー

退会済みユーザー

2017/07/12 06:52

詳しくないのですが、言語コードをmy.cnfとパラメータグループで一致させるということではないのでしょうか?
退会済みユーザー

退会済みユーザー

2017/07/12 06:54

失礼いたしました。 「show variables like 'char%';」にて表示されるValueとパラメータグループの言語を一致させるということではないのでしょうか?
moonphase

2017/07/12 07:00

失礼しました。エンコーディングではなく、照合順序です。 ■テーブルの照合順序の確認方法 SHOW TABLE STATUS FROM データベース名; ■カラムの照合順序の確認方法 SHOW FULL COLUMNS FROM テーブル名; それぞれを移行前、移行先で確認し、Collationの値が同じであることを確認してください。違う場合は修正してください。
退会済みユーザー

退会済みユーザー

2017/07/12 07:05

ありがとうございます。 照合・修正する際はカラム単位でとなるのでしょうか?
moonphase

2017/07/12 07:23

カラム単位で照合順序を持っているのでそうなります。 検索すれば一括で変更するSQLを吐き出す方法もすぐ見つかります。
退会済みユーザー

退会済みユーザー

2017/07/12 07:35

ありがとうございます。 確認したところ、すべてのカラムで照合順序が一致しておりました。
退会済みユーザー

退会済みユーザー

2017/07/12 09:25

moonphase様 パラメータグループのほうは変更いたしましたが、teratermで確認をすると、なぜか変更されておりませんでした。 この原因についてご存知でしょうか? お答えいただければ幸いです。
moonphase

2017/07/12 09:29

パラメータグループを変更後、設定値によってはRDSの再起動が必要になります。
退会済みユーザー

退会済みユーザー

2017/07/12 09:34

latin1からutf8に変更いたしました。 何度も再起動を行っているのですが、それでも変わりませんでした。 現在は再起動のタイミングを誤りs、テーブルが一つ破損してしまったので修復中です。
退会済みユーザー

退会済みユーザー

2017/07/12 11:51

接続多寡などの問題をクリアした結果、言語コードを修正した後、無事フリーワード検索ができるようになりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問