さくらVPS上でLAMP環境を構築した際の覚書です。
すでに、VPS上でUbuntu Server 18.04がインストールされた直後、という条件で設定をしていきます。
今回はMariaDBを導入します。
ゴール
- リポジトリを追加して、MariaDB 10.3 をインストールします。
mysql_secure_installationで、セキュリティ設定をする。- 文字コードをutf8mb4にします。
MariaDBのインストール
インストールに必要なパッケージを導入します。
$ sudo apt install curl gnupg
リポジトリを追加します。
$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
パッケージ情報を更新します。
$ sudo apt update
インストール可能なパッケージを確認します。
$ apt list | grep -i mariadb-server
mariadb-server-10.3/..
一覧に、mariadb-server-10.1と10.3があるので、10.3をインストールします。
$ sudo apt install mariadb-server-10.3
インストールの途中で、rootユーザーのパスワードの入力を促されます。
New password for the MariaDB "root" user:
⇒ MariaDBのrootユーザーのパスワードを入力します。Repeat password for the MariaDB "root" user:
⇒ パスワードを再入力。
mysql_secure_installationの実行
$ sudo mysql_secure_installation
Change the root password? [Y/n]
⇒rootパスワードを変更したい場合はnoRemove anonymous user? [Y/n]
⇒anonymousユーザを削除するかどうか。Yを推奨。Disallow root login remotely? [Y/n]
⇒rootユーザのリモート経由のログインを拒否するかどうか。Yを推奨。Remove test database and access to it? [Y/n]
⇒testデータベースを削除するかどうか。Yを推奨。Reload privilege tables now? [Y/n]
⇒ 権限テーブルを再度読み込みするかどうか。Yを推奨。
MariaDBの設定
文字コードの確認
MariaDBにログインします。
$ mysql -u root -p
Enter password:とでてくるので、パスワードを入力します。
MariaDB [(none)]>というプロンプトが出てくればログイン成功です。
次に、現在の文字コードの確認をします。
> show variables like 'chara%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.017 sec)
文字コードがlatin1になっているので、このままだと日本語を扱うと文字が化けるので、設定を見直します。
quitでMariaDBのコンソールを抜け、設定ファイルを編集します。
文字コードの設定
$ sudo vi /etc/mysql/mariadb.cnf
[client]セクションに、以下を追加。
default-character-set=utf8mb4
[mysqld]セクションに、以下を追加。
character-set-server=utf8mb4
collation-server = utf8mb4_bin
MariaDBを再起動
$ sudo systemctl restart mysql
再度MariaDBに接続して文字コードを確認する。
> show variables like 'chara%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.002 sec)
collation-serverの値は、utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_unicode_520_ciがあります。要件によって選択することになると思われます。(参考サイト1、参考サイト2) |