スポンサーリンク

【Ubuntu24.04】MariaDBを公式リポジトリ使ってインストールする方法

UbuntuServer24.04にMariaDBのサイトで公開している公式リポジトリをつかって、MariaDBをインストールする方法です。

MariaDBリポジトリ追加

MariaDB用のリポジトリは、下記URLにアクセスするとリポジトリを作成するための画面が表示されます。

https://mariadb.org/download/?t=repo-config

画面に表示されている選択項目を下記の順番で選択していくと、リポジトリの追加手順が表示されるので、それに従いリポジトリを追加します。

  • Choose a distributionでUbuntuのバージョンを選択
  • Choose a MariaDB Server Versionで使用したいMariaDBのバージョンを選択
  • MirrorでMariaDB Serverのダウンロード元となるミラーサーバを選択

MariaDBのkeyringを追加

手順で表示されている通りに実行して、MariaDBのkeyringを追加します。

$ sudo apt-get install apt-transport-https curl
$ sudo mkdir -p /etc/apt/keyrings
$ sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

リポジトリ作成(MariaDB 11.4)

こちらも手順に表示されている内容をコピペして、 MariaDBのリポジトリ「/etc/apt/sources.list.d/mariadb.sources」を作成していきます。

$ sudo vi /etc/apt/sources.list.d/mariadb.sources

「MariaDB 11.4」のリポジトリファイルの中身は下記の通りです。

# MariaDB 11.4 repository list - created 2025-01-02 14:34 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/11.4/ubuntu
URIs: https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/11.4/ubuntu
Suites: noble
Components: main main/debug
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

deb822形式になっています。

MariaDBインストール

aptでMariaDBをインストールします。

$ sudo apt update
$ sudo apt install mariadb-server

初期設定(mariadb-secure-installation)

MariaDBのインストールが完了しましたら、「mariadb-secure-installation」を実行してセキュリティを向上させるための設定を行っておきましょう。

$ sudo mariadb-secure-installation

「mariadb-secure-installation」を実行すると下記の質問が表示されるので、下記の通り質問に答えていってください。

Enter current password for root (enter for none):
現在MariaDBのrootユーザに設定されているパスワードの入力
インストール直後はパスワードが設定されていないので「Enter」キーを押下します
Switch to unix_socket authentication [Y/n]
unix socketを使用した認証に切り替えるかの設定
今回は切り替えないので「n」を入力します
Change the root password? [Y/n]
MariaDBのrootユーザのパスワードを変更するかの設定
パスワードを設定したいので「y」を入力します
「New password: 」でパスワードを設定し「Re-enter new password: 」で再度同じパスワードを入力します
Remove anonymous users? [Y/n]
anonymousユーザを削除するかの設定
必要ないので「y」を入力し削除します
Disallow root login remotely? [Y/n]
MariaDBのrootユーザのリモートログインを禁止するかの設定
禁止するので「y」を入力します
Remove test database and access to it? [Y/n]
testデータベースを削除するかの設定
削除するので「y」を入力します
Reload privilege tables now? [Y/n]
ユーザ情報の設定を反映させるかの設定
反映させたのいので「y」を入力します

下記は実際の実行例です。

$ sudo mariadb-secure-installation 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):  # Enterキーを押下
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n  # nを入力
 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y  # yを入力してパスワードを変更
New password:                   # パスワードを設定
Re-enter new password:          # パスワードの再入力
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y  # yを入力してanonymousユーザを削除
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y  # yを入力してrootユーザのリモートログインを禁止
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y  # yを入力してtestデータベースを削除
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y  # yを入力して設定を反映
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

文字コード設定

MariaDBで主に日本語のデータを使用する場合は、文字化けを防ぐためにMariaDBサーバとクライアント両方の文字コード設定を「utf8mb4 」にしておきます。

サーバ設定

サーバ側の設定ファイルは「/etc/mysql/mariadb.conf.d/50-server.cnf」となります。

Ubuntuでは初期設定で下記の設定がされていると思いますが念のため確認しておきます。

  • character-set-server = utf8mb4
  • character-set-collations = utf8mb4=uca1400_ai_ci
$ grep utf8mb4 /etc/mysql/mariadb.conf.d/50-server.cnf 
character-set-server     = utf8mb4
character-set-collations = utf8mb4=uca1400_ai_ci

クライアント設定

クライアントの設定ファイルは「/etc/mysql/mariadb.conf.d/50-client.cnf」となります。

こちらの方は「utf8mb4」の設定がされていないので、[client-mariadb]の部分に「default-character-set = utf8mb4」の設定を追加する必要があります。

$ cd /etc/mysql/mariadb.conf.d
$ sudo cp -p 50-client.cnf 50-client.cnf_`date +%Y%m%d-%H%M%S`
$ sudo vi 50-client.cnf

下記の設定を追加します。

[client-mariadb]
default-character-set = utf8mb4   # 追加します

設定反映

MariaDBを再起動して設定を反映させます。

$ sudo systemctl restart mariadb

設定確認

設定した文字コードが反映されているかは、mariadbコマンドでデータベースに接続して、「SHOW VARIABLES LIKE 'character_set%';」で確認することが出来ます。

$ mariadb -u root -p
MariaDB [(none)]> SHOW VARIABLES LIKE 'character_set%';

実際の操作例は下記のとおりです。

$ mariadb -u root -p
Enter password:   # MariaDBのrootユーザパスワードを入力
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 11.4.4-MariaDB-ubu2404 mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------+
| Variable_name            | Value                         |
+--------------------------+-------------------------------+
| character_set_client     | utf8mb4                       |
| character_set_collations | utf8mb4=utf8mb4_uca1400_ai_ci |
| character_set_connection | utf8mb4                       |
| character_set_database   | utf8mb4                       |
| character_set_filesystem | binary                        |
| character_set_results    | utf8mb4                       |
| character_set_server     | utf8mb4                       |
| character_set_system     | utf8mb3                       |
| character_sets_dir       | /usr/share/mariadb/charsets/  |
+--------------------------+-------------------------------+
9 rows in set (0.001 sec)

MariaDB [(none)]> exit
Bye

確認が終わったら「exit」で終了することが出来ます。

コメント

タイトルとURLをコピーしました