Amazon Lightsail へ移行してみた (MySQL観点)
導入
去年Webページ構築用にAWSで作った無料アカウント期間が終わるので、どうしようか考えた結果、そのままEC2インスタンスを残すのではなく、月額3.5ドルから160ドルまで選べるLightsailへ引っ越すことにしました。マンガに描かれている通り、確かに速い!
以下はインスタンス作成画面の抜粋
移行前から LAMP(PHP 7) を利用していたので、こちらを選択しインスタンスを作成。
LightsailにおけるMySQL
MySQLもすぐさま使える状況になっています。とりあえず、元環境からmysqldumpを使ってDBレベルで情報を引っこ抜き、Lightsail環境へ突っ込んでみます。ちなみに、元環境のバージョンは 5.6.43、Lightsail環境は 5.7.25 でした。(Lightsail環境のLinux/Unix OSは Ubuntu 16.04.6 LTS でした。)
Webページの挙動は概ね問題無し。ただ、1点気になることがあり、
どうも、表の名前の大文字小文字が無視される様になっています。
MySQL 5.7 Reference Manual - 9.2.2 Identifier Case Sensitivity
On Unix, the default value of lower_case_table_names is 0.
On Windows, the default value is 1. On macOS, the default value is 2.
にもかかわらず、実際は以下の通りでした。
mysql> show variables where variable_name='lower_case_table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.02 sec)
不思議に思いながら、設定変更してMySQLを再起動しようとしたところで、ハタと気づきます。
/etc/init.d に mysqld が居ないぞ?
更に、普段通りDBへ xmlファイルをロードしようとした際に以下のエラーが出力され、
ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
LOAD XML INFILE構文の"INFILE"の手前に"LOCAL"を差し込むと解決したところで、
こう考える様になりました。さてはお前クライアントだな?
おそらく、Lightsail用に汎用MySQLサーバーが別にあるのでしょう。
だから lower_case_table_names も 1 にしているんだろーなー、と納得するようにしました。
Author And Source
この問題について(Amazon Lightsail へ移行してみた (MySQL観点)), 我々は、より多くの情報をここで見つけました https://qiita.com/Jinn-sin/items/f15e22661b43bb9dac40著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .