さくら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
パスワードを変更したい場合はno
Remove 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) |
0件のコメント