LoginSignup
52
59

More than 5 years have passed since last update.

MariaDBのインストール/初期設定 [CentOS7]

Last updated at Posted at 2018-04-27

はじめに

最近のMySQLの文字コード(utf8)の指定がすこし変わったみたいなので、ついでにまとめます。
主に一般的なMariaDBのセッティングです。

今回インストールしたMariaDBのバージョンは
mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
でした。

MariaDBのインストール

$ sudo yum update
$ sudo yum install -y mariadb mariadb-server

MariaDBサーバーを起動させ、OS再起動時の自動起動を設定します。

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb # 任意

確認します。

$ mysql --version
mysql  Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1

(上記のバージョンは、本記事の投稿時点のバージョンです)

初期設定

簡易な初期設定スクリプトを実行します。

$ sudo mysql_secure_installation

初期設定が対話モードで始まるので設定していきます。
主に、rootパスワードを設定し、残りはEnterを入力すれば妥当な設定になります。(EnterでYを入力したことになります)

# 1つ目: 今のrootパスワードを入力(初めはパスワードが無いのでEnterでOK)
Enter current password for root (enter for none): # Enter

# 2つ目: rootパスワードを設定するか
Set root password? [Y/n] # Enter

# 3つ目: 新しいrootパスワードを設定
New password: # 新しいパスワードの入力

# 4つ目: 新しいパスワードの確認
Re-enter new password: # 新しいパスワードを再入力

# 5つ目: 匿名ユーザ(初期設定などのために誰でもログインできるユーザ)を削除するか
Remove anonymous users? [Y/n] # Enter

# 6つ目: rootのリモートログインを禁止するか
Disallow root login remotely? [Y/n] # Enter

# 7つ目: testデータベース(テスト用の誰でもアクセス可能なデータベース)を削除するか
Remove test database and access to it? [Y/n]  # Enter

# 8つ目: 権限を管理するテーブルをリロードして、設定をすぐに反映するか
Reload privilege tables now? [Y/n] # Enter

文字コードをUTF-8に設定する

日本語などを問題なく登録できるように、文字コードをUTF-8に設定します。
以前まではutf8と指定すればよかったのですが、より多くの漢字や絵文字を表現できるutf8mb4の指定が推奨されるようになりました。後々デフォルトになるようです。2つの違いはMySQL内の話なので、UTF-8と同じと考えて大丈夫です。
mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1環境では、utf8mb4を指定しないと、正常に設定が反映されませんでした。

sudo viなどで/etc/my.cnf.d/server.confを編集します。

/etc/my.cnf.d/server.conf
<<< 省略 >>>

[mariadb]
character-set-server = utf8mb4 <- これを追記

<<< 省略 >>>

続いて、/etc/my.cnf.d/client.confを編集します。

/etc/my.cnf.d/client.conf
<<< 省略 >>>

[client-mariadb]
default-character-set = utf8mb4 <- これを追記

<<< 省略 >>>

MariaDBを再起動します

$ sudo systemctl restart mariadb

ログインし、確認します。

$ mysql -u root -p # MariaDBにログイン
Enter password: # rootパスワードを入力

文字コードの設定を確認します。

MariaDB [(none)]> 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.00 sec)


上記のように表示されれば、正常に設定が完了しています。quit;でログアウトします。

52
59
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
59