さくら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_binutf8mb4_general_ciutf8mb4_unicode_ciutf8mb4_unicode_520_ciがあります。要件によって選択することになると思われます。(参考サイト1参考サイト2)

 


 

 
カテゴリー: Linuxmysqlubuntu

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です