DebianにMariaDBをインストールする方法【初心者向け】

DebianにMariaDBをインストールする方法【初心者向け】

はじめに:データベースの基礎とMariaDBの魅力

ようこそ! この記事では、Linuxディストリビューションの一つであるDebianに、オープンソースのリレーショナルデータベース管理システム(RDBMS)であるMariaDBをインストールし、基本的な設定を行う方法を初心者向けに徹底的に解説します。

「データベース」と聞くと、なんだか難しそう…と感じる方もいるかもしれません。しかし、私たちの身の回りにある多くのシステムは、データベースなしには成り立ちません。例えば、Webサイトのユーザー情報、ショッピングサイトの商品カタログ、銀行の取引記録、スマートフォンのアプリのデータなど、ありとあらゆる情報がデータベースに格納され、管理されています。

データベースは、これらの大量の情報を整理し、効率的に保存、検索、更新、削除するための仕組みです。その中でも、RDBMSは、データを「テーブル」という形式で整理し、テーブル同士を関連付けることで、複雑なデータ構造を扱うことができます。そして、データを操作するための標準的な言語としてSQL(Structured Query Language)が使われます。

RDBMSには様々な種類がありますが、その中でも特に広く使われているのがMySQLです。そして、今回扱うMariaDBは、このMySQLから派生した、非常に互換性の高いデータベースシステムです。

MariaDBとは? MySQLとの関係

MariaDBは、MySQLの開発者たちが中心となって開発されている、コミュニティ主導のプロジェクトです。MySQLがSun Microsystems(後にOracle Corporationが買収)に買収された後、MySQLのオープンソース性が失われることを懸念した開発者たちが、その代替としてMariaDBを立ち上げました。

MariaDBはMySQLと高い互換性を持っています。多くのアプリケーションは、特に変更なくMySQLからMariaDBに移行できます。しかし、互換性があるだけでなく、MariaDBは独自の進化も遂げています。

  • パフォーマンスの向上: 特に大規模なデータや高負荷の環境でのパフォーマンス改善に力が入れられています。
  • 新しいストレージエンジンの追加: InnoDBに加えて、Aria、XtraDB、ColumnStoreなど、様々な特性を持つストレージエンジンを利用できます。ストレージエンジンとは、実際にデータがディスクに保存される仕組みのことです。用途に応じて最適なストレージエンジンを選択することで、パフォーマンスを最大化できます。
  • セキュリティ機能の強化: より安全にデータベースを運用するための機能が追加されています。
  • オープンソース性: GPLライセンスに基づき、完全にオープンソースとして開発・提供されており、コミュニティが活発です。

これらの特徴から、MariaDBはWebアプリケーション、クラウドサービス、エンタープライズシステムなど、幅広い分野で利用されています。

なぜDebianでMariaDBを使うのか?

Debianは、非常に安定しており、セキュリティに強く、広範なパッケージリポジトリを持つ人気のLinuxディストリビューションです。サーバー用途としても非常に広く使われています。MariaDBもまた、信頼性が高く、多くのシステムで実績のあるデータベースです。

DebianとMariaDBの組み合わせは、次のような理由から多くのユーザーに選ばれています。

  • 安定性: Debianの安定した基盤の上で、安定したMariaDBを運用できます。
  • セキュリティ: Debianのタイムリーなセキュリティアップデートと、MariaDB自体のセキュリティ機能によって、安全なデータベース環境を構築できます。
  • 容易なインストールと管理: Debianのパッケージ管理システムaptを使えば、MariaDBのインストール、アップデート、削除が非常に簡単に行えます。
  • 豊富なドキュメントとコミュニティ: Debian、MariaDBともに長い歴史と大きなコミュニティがあり、問題が発生した場合でも解決策を見つけやすいです。

この記事では、Debianのパッケージ管理システムaptを使って、MariaDBをインストールする標準的な方法を解説します。この方法が最も簡単で推奨される方法です。

この記事の対象者と学ぶこと

この記事は、以下のような方を対象としています。

  • Linux(特にDebian)の基本的な操作(コマンド入力)ができる方
  • データベースやMariaDBを初めて触る方
  • DebianサーバーにMariaDBをインストールして、開発環境や小規模な本番環境を構築したい方

この記事を読むことで、あなたは以下のことができるようになります。

  • DebianシステムにMariaDBサーバーとクライアントをインストールする
  • インストール後の初期セキュリティ設定を行う
  • MariaDBサービスの起動、停止、再起動、自動起動設定を行う
  • MariaDBシェルに接続し、基本的なデータベース操作(データベース・ユーザー作成、権限付与)を行う

さあ、MariaDBの世界へ第一歩を踏み出しましょう!

準備:インストールを始める前に

MariaDBのインストールに取り掛かる前に、いくつか準備をしておきましょう。これにより、スムーズに作業を進めることができます。

必要なもの

  1. Debianがインストールされたサーバーまたは仮想マシン: 作業対象となるDebian環境が必要です。物理サーバーでも、VirtualBoxやVMwareなどの仮想マシン上でも、クラウド上のインスタンス(AWS EC2, Google Cloud Compute Engine, Azure Virtual Machinesなど)でも構いません。Debianのバージョンは、執筆時点での最新安定版(例: Debian 11 Bullseye, Debian 12 Bookworm)を想定しています。
  2. SSHクライアント: サーバーにコマンドを入力するために必要です。WindowsであればPuTTYやTera Term、macOSやLinuxであれば標準のターミナルからsshコマンドを使います。
  3. root権限またはsudo権限を持つユーザー: パッケージのインストールやシステム設定の変更には、管理者権限が必要です。rootユーザーでログインするか、sudoコマンドが使えるユーザーでログインしてください。セキュリティの観点から、通常はsudo権限を持つ一般ユーザーで作業し、管理者権限が必要なコマンドの前にsudoを付ける方法が推奨されます。

サーバーの基本的な設定確認

作業を始める前に、サーバーがインターネットに接続できていること、そしてSSHでログインできることを確認してください。通常、これらの設定はDebianのインストール時に行われます。

もし、サーバーをセットアップしたばかりでネットワーク設定やSSH設定に不安がある場合は、別途Debianの初期設定に関するドキュメントを参照してください。

パッケージリストの更新

ソフトウェアをインストールする前に、パッケージリストを最新の状態に更新することが重要です。これにより、利用可能な最新のパッケージ情報(新しいバージョンやセキュリティアップデートなど)を取得できます。

SSHクライアントを使ってサーバーにログインし、以下のコマンドを実行してください。

bash
sudo apt update

このコマンドは、aptがパッケージ情報を取得するために参照するリポジトリのリストを読み込み、利用可能なパッケージのインデックスを更新します。実行すると、どのリポジトリからどれくらいの情報が取得されたかが表示されます。

もし、長い間システムをアップデートしていない場合は、パッケージ自体も最新の状態にしておくことをお勧めします。以下のコマンドを実行してください。

bash
sudo apt upgrade

このコマンドは、現在システムにインストールされているパッケージのうち、新しいバージョンが利用可能なものをアップグレードします。実行前に、どのパッケージがアップグレードされるか、どれくらいのディスク容量が必要かが表示されます。Yを入力してEnterキーを押すとアップグレードが実行されます。

これらの準備が整ったら、いよいよMariaDBのインストールに進みましょう。

MariaDBのインストール:aptコマンドを使おう

Debianにソフトウェアをインストールする最も簡単で推奨される方法は、パッケージ管理システムaptを使用することです。MariaDBもDebianの公式リポジトリに含まれているため、aptを使って簡単にインストールできます。

公式リポジトリからのインストールが推奨される理由

なぜ公式リポジトリからのインストールが推奨されるのでしょうか?

  • 容易なインストールとアップデート: apt installapt upgradeコマンド一つでインストールやアップデートが完了します。依存関係も自動的に解決されます。
  • 安定性と信頼性: Debianのリポジトリに含まれるパッケージは、安定性と互換性がテストされています。
  • セキュリティアップデート: セキュリティ上の問題が発見された場合、Debianチームによって迅速に修正されたパッケージが提供され、apt upgradeで適用できます。
  • 依存関係の自動解決: MariaDBが必要とする他のソフトウェアも、aptが自動的に判断してインストールしてくれます。

特別な理由(非常に新しいバージョンが必要、特定のコンパイルオプションが必要など)がない限り、公式リポジトリからインストールするのが最善の方法です。

インストールコマンドの実行

MariaDBサーバーとクライアントをインストールするには、以下のコマンドを実行します。

bash
sudo apt install mariadb-server mariadb-client

このコマンドの意味は以下の通りです。

  • sudo: 管理者権限でコマンドを実行します。
  • apt install: パッケージをインストールするためのコマンドです。
  • mariadb-server: MariaDBのサーバー本体です。データベースエンジンやデーモンプログラムなどが含まれます。
  • mariadb-client: MariaDBサーバーに接続するためのクライアントプログラムです。データベースを操作する際に使用します。通常、サーバーをインストールする場合はクライアントも一緒にインストールします。

コマンドを実行すると、インストールされるパッケージとその依存関係、そして必要となるディスク容量が表示されます。

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
galera-4 libargon2-1 libcgi-pm-perl libdbd-mysql-perl libdbi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmysqlclient21 libsasl2-2 libsasl2-modules-db libsocket6-perl liburi-perl libwww-perl libxml-parser-perl mariadb-common mariadb-server-core-10.6 mysql-common netbase
Suggested packages:
libclone-perl libmldbm-perl libnet-daemon-perl libplrpc-perl libsql-statement-perl mariadb-test tinyca
The following NEW packages will be installed:
galera-4 libargon2-1 libcgi-pm-perl libdbd-mysql-perl libdbi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmysqlclient21 libsasl2-2 libsasl2-modules-db libsocket6-perl liburi-perl libwww-perl libxml-parser-perl mariadb-client mariadb-common mariadb-server mariadb-server-core-10.6 mysql-common netbase
0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded.
Need to get 34.5 MB of archives.
After this operation, 234 MB of additional disk space will be used.
Do you want to continue? [Y/n]

(表示されるパッケージリストや容量は、Debianのバージョンや既にインストールされているソフトウェアによって異なります。)

続行するか尋ねられますので、Yを入力してEnterキーを押します。

aptは指定されたパッケージと、それが必要とするすべての依存パッケージをダウンロードし、システムにインストールします。このプロセスには数分かかる場合があります。

インストールが完了すると、特にエラーメッセージが表示されなければ成功です。

インストールの確認

インストールが完了したら、MariaDBサーバーが正しくインストールされ、起動しているか確認してみましょう。

MariaDBサービスの状態を確認するには、以下のコマンドを実行します。

bash
sudo systemctl status mariadb

systemctlは、systemdというLinuxのサービス管理システムを操作するためのコマンドです。status mariadbは、mariadbという名前のサービスの状態を表示します。

正常に起動している場合、以下のような出力が表示されるはずです(詳細は環境によって異なります)。

“`
● mariadb.service – MariaDB 10.6.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-27 10:00:00 UTC; 1min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 1234 (mariadbd)
Status: “Taking your SQL requests now…”
Tasks: 30 (limit: 4915)
Memory: 150.0M
CPU: 0.500s
CGroup: /system.slice/mariadb.service
└─1234 /usr/sbin/mariadbd

Oct 27 10:00:00 hostname systemd[1]: Starting MariaDB 10.6.12 database server…
Oct 27 10:00:00 hostname mariadbd[1234]: … (起動時のログメッセージ)

“`

ここで重要なのは、Active: active (running)と表示されていることです。これは、MariaDBサービスが正常に起動し、動作していることを示しています。

また、インストールされたMariaDBのバージョンを確認するには、MariaDBクライアントを使ってサーバーに接続し、バージョン情報を表示する方法があります。

クライアントからサーバーに接続するには、以下のコマンドを使います。インストール直後は、rootユーザーでパスワードなしで接続できる場合があります(Unixソケット認証を利用)。

bash
sudo mariadb

または

bash
mysql -u root -p

後者の場合は、パスワードを求められますが、まだ設定していない場合はEnterキーをそのまま押すか、Unixソケット認証が有効であればパスワードなしで接続できます。Debianのパッケージからインストールした場合、sudo mariadbが最も簡単です。

成功すると、MariaDBのプロンプトMariaDB [(none)]>が表示されます。

“`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

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

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

MariaDB [(none)]>
“`

プロンプトが表示されたら、以下のコマンドでバージョンを確認できます。

sql
SELECT VERSION();

+-----------------+
| VERSION() |
+-----------------+
| 10.6.12-MariaDB |
+-----------------+
1 row in set (0.001 sec)

または、MariaDBシェルに入らずにバージョンを確認する方法もあります。

bash
mariadb --version

または

bash
mysql --version

mariadb Ver 15.1 Distrib 10.6.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper

(バージョン番号はインストールされたものによって異なります)

これらのコマンドでバージョン情報が表示されれば、クライアントも正しくインストールされています。

MariaDBシェルから抜けるには、exit;またはquit;と入力してEnterキーを押します。

sql
MariaDB [(none)]> exit
Bye

これで、MariaDBのインストールが成功したことが確認できました。しかし、このままの状態ではセキュリティ上の問題があるため、次に初期設定を行う必要があります。

初期設定:セキュリティの確保

MariaDBをインストールした直後の状態は、セキュリティがあまり考慮されていません。特に、rootユーザーがパスワードなしで接続できたり、匿名ユーザーが存在したりすると、悪意のある第三者によって簡単にデータベースが操作されてしまう可能性があります。

MariaDBには、このような初期設定のセキュリティ問題を簡単に修正するためのスクリプトが用意されています。それがmysql_secure_installationです。

mysql_secure_installationスクリプトの実行

以下のコマンドを実行して、セキュリティ設定スクリプトを開始します。

bash
sudo mysql_secure_installation

スクリプトを実行すると、いくつかの質問が表示され、対話形式で設定を進めていきます。それぞれの質問について詳しく見ていきましょう。

“`
NOTE: Running this script as root may not be safe. You are advised to run it as a regular user.

Securing the MariaDB server installation

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):
“`

質問1: Enter current password for root (enter for none):

これはMariaDBのrootユーザーの現在のパスワードを尋ねています。インストール直後のDebian環境では、通常MariaDBのrootユーザーにはパスワードが設定されていません。 または、Unixソケット認証によってOSのrootユーザーやsudo実行ユーザーとしてパスワードなしで接続できるようになっています。

ここでは、何も入力せずにEnterキーを押してください。(もし以前にパスワードを設定している場合は、そのパスワードを入力します。)

“`
OK, successfully used password, moving on…

Setting the root password or using the unix_socket authenticator
can be used to grant someone exclusive access to the root user.

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

Switch to unix_socket authentication [Y/n]
“`

質問2: Switch to unix_socket authentication [Y/n]

Unixソケット認証に切り替えるか尋ねています。Unixソケット認証とは、OSのユーザー権限に基づいてデータベースにログインする認証方法です。例えば、OSのrootユーザーでログインしている場合、MariaDBのrootユーザーとしてパスワードなしで接続できます。これは、特にローカルからの接続において、パスワード漏洩のリスクを減らす有効な方法です。

Debianでは、デフォルトでUnixソケット認証が有効になっていることが多いです。これは非常に便利な認証方法ですが、リモートからパスワード認証でrootログインしたい場合には邪魔になることがあります。

  • 推奨: サーバーに直接ログインして作業することが多い場合は、Yを選択してUnixソケット認証を有効にするのが良いでしょう。これにより、sudo mariadbコマンドでパスワードなしでrootログインできるようになります。
  • リモートからのrootログインが必要な場合(非推奨、セキュリティリスクが高い)や、純粋なパスワード認証でrootログインしたい場合は、nを選択してください。

ここでは、多くの初心者にとって便利なYを選択することを推奨します。Enterキーを押すか、Yを入力してEnterキーを押してください。

Enabled successfully.
Reloading privilege tables..
... Success!

(もしYを選択した場合、Unixソケット認証が有効になり、権限テーブルが再読み込みされます。)

もし質問2でnを選択した場合、次の質問が表示されます。

Change the root password? [Y/n]

質問3: Change the root password? [Y/n]

MariaDBのrootユーザーのパスワードを変更するか尋ねています。Unixソケット認証を有効にした場合は、基本的にはパスワード認証でrootとしてログインすることは想定されませんが、念のため設定しておくと良いでしょう。Unixソケット認証を有効にしなかった場合は、必ずここでパスワードを設定してください。

ここでは、Yを選択することを強く推奨します。Enterキーを押すか、Yを入力してEnterキーを押してください。

New password:
Re-enter new password:

新しいパスワードの入力を求められます。推測されにくい、強力なパスワードを設定してください。 パスワードは入力しても画面には表示されません。入力したらEnterキーを押し、もう一度確認のために同じパスワードを入力してEnterキーを押します。

Password updated successfully.
Reloading privilege tables..
... Success!

これでrootパスワードが設定されました。

次に、セキュリティに関連するいくつかの設定について尋ねられます。ほとんどの質問にはYと答えるのが推奨されます。

“`
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]
“`

質問4: Remove anonymous users? [Y/n]

匿名ユーザーを削除するか尋ねています。匿名ユーザーは、ユーザー名やパスワードなしでMariaDBに接続できるユーザーです。これはテストや初期設定を容易にするためのものですが、セキュリティリスクの塊です。本番環境では絶対に存在させてはいけません。

必ずYを選択してください。 Enterキーを押すか、Yを入力してEnterキーを押します。

“`
… 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]
“`

質問5: Disallow root login remotely? [Y/n]

rootユーザーがリモート(サーバー自身以外のコンピュータ)からログインすることを禁止するか尋ねています。デフォルトでは、rootユーザーはサーバー自身(localhost)からのみログインが許可されています。これは非常に重要なセキュリティ対策です。rootユーザーはデータベースのすべての権限を持っているため、もしパスワードが漏洩したり推測されたりした場合、システム全体が危険に晒されます。リモートからのrootログインを許可することは、攻撃者が総当たり攻撃を仕掛ける機会を与えてしまいます。

必ずYを選択してください。 Enterキーを押すか、Yを入力してEnterキーを押します。特定のユーザーにリモートからのデータベース管理を許可したい場合は、後で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]
“`

質問6: Remove test database and access to it? [Y/n]

testという名前のテスト用データベースと、それへのアクセス権限を削除するか尋ねています。このデータベースも、初期設定やテストを容易にするためのものですが、誰でもアクセスできる可能性があるため、本番環境では不要です。

必ずYを選択してください。 Enterキーを押すか、Yを入力してEnterキーを押します。

“`
… Success!

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

Reload privilege tables now? [Y/n]
“`

質問7: Reload privilege tables now? [Y/n]

ここまでの設定変更(匿名ユーザーの削除、rootのリモートログイン禁止、テストデータベースの削除など)をすぐに有効にするために、権限テーブルを再読み込みするか尋ねています。

必ずYを選択してください。 Enterキーを押すか、Yを入力してEnterキーを押します。

“`
… Success!

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

Thanks for using MariaDB!
“`

これでセキュリティ設定は完了です! MariaDBのインストールはより安全な状態になりました。

rootログインの確認

設定後、rootユーザーでログインできるか確認してみましょう。

もしUnixソケット認証を有効にした場合は、以下のコマンドでパスワードなしでログインできるはずです。

bash
sudo mariadb

もしUnixソケット認証を無効にし、rootパスワードを設定した場合は、以下のコマンドでパスワードを入力してログインします。

bash
mysql -u root -p

Enter password:と表示されたら、設定したrootパスワードを入力してEnterキーを押してください。

どちらの方法でもMariaDBシェルプロンプトMariaDB [(none)]>が表示されれば成功です。

ここまでの設定で、最低限のセキュリティ対策が施されました。次に、MariaDBサービスの管理方法について見ていきましょう。

MariaDBサービスの管理

MariaDBはバックグラウンドで動作するサービス(デーモン)として実行されます。このサービスを管理するために、Linuxではsystemctlコマンドを使用します。systemctlコマンドを使うことで、サービスの起動、停止、再起動、状態確認、そしてシステムの起動時に自動的に開始するかどうかの設定を行うことができます。

サービスの状態確認

MariaDBサービスが現在どのような状態にあるかを確認するには、以下のコマンドを使います。

bash
sudo systemctl status mariadb

前述した通り、正常に起動していればActive: active (running)と表示されます。もし起動に失敗している場合は、Active: failedなどと表示され、エラーの原因を示すログの一部が表示されることがあります。

サービスの起動

MariaDBサービスが停止している場合に起動するには、以下のコマンドを使います。

bash
sudo systemctl start mariadb

このコマンドを実行しても特に何も出力されませんが、MariaDBサービスがバックグラウンドで起動を開始します。コマンド実行後にsudo systemctl status mariadbで状態を確認すると良いでしょう。

サービスの停止

MariaDBサービスを停止するには、以下のコマンドを使います。

bash
sudo systemctl stop mariadb

このコマンドも実行しても特に何も出力されません。停止後、sudo systemctl status mariadbで状態を確認すると、Active: inactive (dead)などと表示されるはずです。サービスを停止すると、MariaDBに接続できなくなります。

サービスの再起動

MariaDBの設定ファイルを変更したり、何らかの問題が発生したりした場合に、サービスを再起動することがあります。再起動は、現在実行中のサービスを一度停止し、その後すぐに再度起動する操作です。以下のコマンドを使います。

bash
sudo systemctl restart mariadb

設定ファイルを変更した場合、設定内容を反映させるためにはサービスの再起動が必要なことが多いです。

システム起動時の自動起動設定

サーバーが起動した際に、MariaDBサービスも自動的に起動するように設定しておくのが一般的です。インストール直後のDebianパッケージでは、デフォルトで自動起動が有効になっていることが多いですが、念のため確認・設定しておきましょう。

自動起動を有効にするには、以下のコマンドを使います。

bash
sudo systemctl enable mariadb

このコマンドを実行すると、システムの起動時にMariaDBサービスが自動的に開始されるように設定されます。既に有効になっている場合は、その旨が表示されます。

bash
Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

自動起動を無効にする(手動でのみ起動するようにする)には、以下のコマンドを使います。

bash
sudo systemctl disable mariadb

現在の自動起動設定の状態を確認するには、以下のコマンドを使います。

bash
systemctl is-enabled mariadb

有効になっていればenabled、無効になっていればdisabledと表示されます。

これらのsystemctlコマンドを使うことで、MariaDBサービスを適切に管理できます。

基本的なデータベース操作

MariaDBが起動し、セキュリティ設定も完了したら、実際にデータベースを操作してみましょう。ここでは、新しいデータベースを作成し、新しいユーザーを作成してそのデータベースへのアクセス権限を付与する、という基本的な手順を解説します。これは、Webアプリケーションなどをデプロイする際に必ず必要になる作業です。

MariaDBシェルへの接続

データベースを操作するには、MariaDBサーバーに接続し、SQLコマンドを実行する必要があります。前述の通り、rootユーザーとしてMariaDBシェルに接続します。

Unixソケット認証を有効にしている場合:

bash
sudo mariadb

rootパスワードを設定し、パスワード認証で接続する場合:

bash
mysql -u root -p

パスワードを入力してEnterキーを押します。

成功すると、MariaDB [(none)]>というプロンプトが表示されます。これがMariaDBシェルです。ここでSQLコマンドを入力して実行します。

データベースの作成

Webアプリケーションやサービスごとにデータベースを分けるのが一般的です。新しいデータベースを作成するには、CREATE DATABASE文を使用します。

例として、my_web_app_dbという名前のデータベースを作成します。

sql
CREATE DATABASE my_web_app_db;

SQLコマンドは、通常セミコロン;で終わります。入力したらEnterキーを押します。

Query OK, 1 row affected (0.001 sec)

Query OKと表示されれば成功です。

作成したデータベースがリストに含まれているか確認するには、SHOW DATABASES;コマンドを使います。

sql
SHOW DATABASES;

+--------------------+
| Database |
+--------------------+
| information_schema |
| my_web_app_db |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.001 sec)

my_web_app_dbがリストに含まれていることが確認できます。(information_schema, mysql, performance_schema, sysはMariaDBのシステムデータベースです。)

ユーザーの作成

データベースにアクセスするための新しいユーザーを作成します。rootユーザーで常にアクセスするのは、セキュリティ上および運用上のリスクがあるため推奨されません。特定のデータベースには特定のユーザーのみがアクセスできるように設定するのが良いプラクティスです。

新しいユーザーを作成するには、CREATE USER文を使用します。ユーザー名、接続元ホスト、パスワードを指定します。

例として、ユーザー名my_web_app_user、パスワードyour_secure_passwordで、localhost(サーバー自身)から接続できるユーザーを作成します。(パスワードは安全なものに置き換えてください)

sql
CREATE USER 'my_web_app_user'@'localhost' IDENTIFIED BY 'your_secure_password';

  • 'my_web_app_user':作成するユーザー名です。シングルクォーテーションで囲みます。
  • 'localhost':このユーザーがどのホストから接続できるかを指定します。localhostはサーバー自身を意味します。特定のIPアドレスやネットワーク範囲を指定することも可能です。'%'とすると、どのホストからでも接続できるようになりますが、セキュリティリスクが高まるため通常は推奨されません。
  • IDENTIFIED BY 'your_secure_password':このユーザーのパスワードを指定します。シングルクォーテーションで囲みます。

Query OK, 0 rows affected (0.002 sec)

Query OKと表示されれば成功です。

ユーザーにデータベースへの権限を付与

作成したユーザーは、まだどのデータベースにもアクセスする権限がありません。特定のデータベースに対して、どのような操作を許可するか(テーブルの作成、データの挿入、更新、削除、選択など)をGRANT文を使って設定します。

例として、作成したユーザーmy_web_app_userに、作成したデータベースmy_web_app_db内のすべてのテーブルに対するすべての操作権限を付与します。

sql
GRANT ALL PRIVILEGES ON my_web_app_db.* TO 'my_web_app_user'@'localhost';

  • ALL PRIVILEGES: 許可する権限の種類です。ALL PRIVILEGESはすべての権限を意味します。特定の権限(例: SELECT, INSERT, UPDATE, DELETE)を指定することも可能です。
  • ON my_web_app_db.*: 権限を付与する対象です。database_name.*とすることで、指定したデータベース内のすべてのテーブルに対する権限を指定できます。特定のテーブルに対して権限を付与することも可能です(例: ON database_name.table_name)。
  • TO 'my_web_app_user'@'localhost': 権限を付与するユーザーとその接続元ホストを指定します。

Query OK, 0 rows affected (0.001 sec)

Query OKと表示されれば成功です。

権限の反映

GRANTCREATE USERなどの権限に関する操作を行った後は、その変更をMariaDBに認識させるために権限テーブルを再読み込みする必要があります。以下のコマンドを実行します。

sql
FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.001 sec)

これで、新しいユーザーが指定したデータベースにアクセスできるようになりました。

新しいユーザーで接続してみる

作成したユーザーでMariaDBに接続できるか確認してみましょう。一度現在のrootユーザーでのセッションを終了します。

sql
EXIT;

Bye

次に、作成したユーザーでログインします。

bash
mysql -u my_web_app_user -p

パスワードの入力を求められたら、ユーザー作成時に設定したパスワードyour_secure_passwordを入力してEnterキーを押します。

“`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

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

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

MariaDB [(none)]>
“`

ユーザー名がmy_web_app_user、プロンプトがMariaDB [(none)]>となっていれば成功です。

データベースの選択

ログインしただけでは、まだどのデータベースに対して操作を行うか決まっていません。操作したいデータベースを選択するには、USE文を使います。

sql
USE my_web_app_db;

Database changed
MariaDB [my_web_app_db]>

プロンプトがMariaDB [my_web_app_db]>に変わったことがわかります。これは、以降の操作がmy_web_app_dbに対して行われることを示しています。

簡単なテーブル操作(例)

試しに、簡単なテーブルを作成し、データを挿入・選択してみましょう。

テーブル作成(例: usersテーブル):

sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

  • CREATE TABLE users (...): usersという名前のテーブルを作成します。
  • id INT AUTO_INCREMENT PRIMARY KEY: idという名前の整数型の列を作成し、自動的に連番が割り振られるようにし(AUTO_INCREMENT)、この列をテーブルの主キー(PRIMARY KEY)とします。主キーはテーブル内で各行を一意に識別するために使われます。
  • username VARCHAR(50) NOT NULL UNIQUE: usernameという名前の文字列型の列を作成します。最大50文字までで(VARCHAR(50))、値を省略できず(NOT NULL)、テーブル内で重複する値を許しません(UNIQUE)。
  • email VARCHAR(100) NOT NULL: emailという名前の文字列型の列を作成します。最大100文字までで、値を省略できません。
  • created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP: created_atという名前のタイムスタンプ型の列を作成します。デフォルト値として、データが挿入された時点のタイムスタンプが自動的に入るように設定しています(DEFAULT CURRENT_TIMESTAMP)。

Query OK, 0 rows affected (0.009 sec)

テーブルが作成されたか確認するには、SHOW TABLES;を使います。

sql
SHOW TABLES;

+-----------------------+
| Tables_in_my_web_app_db |
+-----------------------+
| users |
+-----------------------+
1 row in set (0.001 sec)

usersテーブルがリストに含まれています。

次に、データ挿入(例: ユーザーを追加):

sql
INSERT INTO users (username, email) VALUES ('alice', '[email protected]');

id列とcreated_at列は自動的に値が設定されるため、ここではusernameemailの値を指定します。

Query OK, 1 row affected (0.002 sec)

もう一人追加してみましょう。

sql
INSERT INTO users (username, email) VALUES ('bob', '[email protected]');

データ選択(例: ユーザー一覧を取得):

テーブルに挿入されたデータを取得するには、SELECT文を使います。

sql
SELECT id, username, email, created_at FROM users;

またはすべての列を取得する場合はワイルドカード*を使います。

sql
SELECT * FROM users;

+----+----------+---------------------+---------------------+
| id | username | email | created_at |
+----+----------+---------------------+---------------------+
| 1 | alice | [email protected] | 2023-10-27 11:00:00 |
| 2 | bob | [email protected] | 2023-10-27 11:01:00 |
+----+----------+---------------------+---------------------+
2 rows in set (0.001 sec)

挿入したデータが正しく取得できました。(created_atの時間は実行環境によって異なります)

これらの基本的なSQLコマンドを使って、データベースやテーブルの作成、ユーザーの管理、データの操作を行うことができます。

MariaDBシェルでの作業を終える際は、exit;またはquit;と入力して終了します。

sql
MariaDB [my_web_app_db]> exit
Bye

これで、基本的なMariaDBのインストール、設定、操作方法を習得しました。

リモート接続の設定(必要な場合)

デフォルトのMariaDB設定では、セキュリティ上の理由から、サーバー自身(localhost)からの接続のみが許可されています。しかし、別のコンピューターからMariaDBサーバーに接続して管理ツールを使ったり、別のサーバーで実行されているアプリケーションからアクセスしたりしたい場合があります。このような場合に、リモート接続の設定が必要になります。

重要: リモート接続を許可すると、外部からのアクセスが可能になるため、セキュリティリスクが高まります。必ず信頼できるネットワークやIPアドレスからの接続のみを許可し、強力なパスワードを使用し、必要に応じてSSL/TLSによる接続暗号化を検討するなど、十分なセキュリティ対策を行ってください。可能であれば、VPNやSSHトンネル経由での接続を検討するのが最も安全です。

リモート接続を許可するには、主に以下の2つの設定が必要です。

  1. MariaDBの設定ファイルで、どのIPアドレスからの接続を許可するかを設定する。
  2. サーバーのファイアウォールで、MariaDBが使用するポート(デフォルトは3306番)へのアクセスを許可する。

1. MariaDB設定ファイルの編集

MariaDBの設定ファイルは、通常/etc/mysql/mariadb.conf.d/ディレクトリ内にあります。メインの設定ファイルは/etc/mysql/mariadb.cnfですが、実際の設定はmariadb.conf.d内の複数のファイル(例: 50-server.cnf, 50-client.cnfなど)に分割されています。

リモート接続に関する設定は、通常サーバー設定ファイル(例: 50-server.cnf)で行います。このファイルには[mysqld]セクションがあり、その中にbind-addressという設定項目があります。

bind-addressは、MariaDBサーバーがどのネットワークインターフェースからの接続を受け付けるかを指定します。

  • 127.0.0.1 (または localhost): ローカルホスト(サーバー自身)からの接続のみ許可(デフォルト設定)。
  • 0.0.0.0: すべてのネットワークインターフェースからの接続を許可。最も簡単な設定ですが、セキュリティリスクが最も高いです。
  • 特定のIPアドレス(例: 192.168.1.100):そのIPアドレスを持つインターフェースからの接続のみ許可。
  • 特定のネットワークインターフェースに関連付けられたIPアドレス:そのインターフェースを経由した接続を許可。

設定ファイルを編集するには、テキストエディタを使います。ここではnanoエディタを例に説明します。

bash
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

ファイルを開き、[mysqld]セクションを探します。通常、このセクション内にbind-addressの行があります。

“`ini
[mysqld]

Instead of skip-networking the default is now to listen on localhost

bind-address = 127.0.0.1


“`

もしbind-address行がコメントアウト(行頭に#がついている)されている場合は、デフォルト値(通常127.0.0.1)が使われます。コメントアウトを外し、値を変更します。

例えば、すべてのIPアドレスからの接続を許可する場合は、以下のように変更します。

“`ini
[mysqld]

Instead of skip-networking the default is now to listen on localhost

bind-address = 0.0.0.0

“`

特定のIPアドレスからの接続のみを許可したい場合は、そのIPアドレスを指定します。

ini
[mysqld]
...
bind-address = 192.168.1.100 # 例:特定のIPからの接続のみ許可
...

設定を保存してエディタを終了します(nanoエディタの場合: Ctrl+X -> Y -> Enter)。

設定ファイルを変更した後は、MariaDBサービスを再起動して設定を反映させる必要があります。

bash
sudo systemctl restart mariadb

サービスが正常に再起動したか確認します。

bash
sudo systemctl status mariadb

2. ファイアウォールの設定

MariaDBサーバーが特定のIPアドレスからの接続を受け付けるように設定しても、OSのファイアウォールでその接続がブロックされていると、リモートからの接続はできません。MariaDBが使用するデフォルトポートは3306番です。このポートへのインバウンド接続を許可する必要があります。

Debianでは、UFW(Uncomplicated Firewall)がよく使われます。UFWがインストールされていない場合は、以下のコマンドでインストールできます。

bash
sudo apt install ufw

UFWの基本的な使い方:

  • UFWを有効にする: sudo ufw enable (SSH接続が切断されないよう、SSHポート(デフォルト22番)を許可した後に有効化してください。)
  • UFWの状態を確認する: sudo ufw status
  • 特定のポート/サービスを許可する: sudo ufw allow <ポート番号またはサービス名>
  • 特定のポート/サービスからの接続を削除する: sudo ufw delete allow <ポート番号またはサービス名>

MariaDBへのリモート接続を許可するには、3306番ポートへのTCP接続を許可します。

bash
sudo ufw allow 3306/tcp

特定のIPアドレスからの接続のみを許可したい場合は、以下のように指定します。

bash
sudo ufw allow from 192.168.1.100 to any port 3306 proto tcp

(例: 192.168.1.100からのTCP 3306ポートへの接続を許可)

設定後、UFWの状態を確認して、ルールが追加されているか確認してください。

bash
sudo ufw status

出力例:

“`
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
3306/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
3306/tcp (v6) ALLOW Anywhere (v6)
“`

AnywhereはすべてのIPアドレスを意味します。特定のIPを指定した場合はそのIPが表示されます。)

これで、リモートからのMariaDBサーバーへの接続が可能になります。

リモート接続用のユーザー作成

セキュリティ上の理由から、リモート接続にはrootユーザーではなく、専用のユーザーを作成して必要な権限のみを付与することが強く推奨されます。

既に「基本的なデータベース操作」のセクションでユーザーを作成しましたが、そのユーザーは'my_web_app_user'@'localhost'として作成されており、localhostからの接続しか許可されていません。リモートからの接続を許可するためには、接続元ホストを'%'にするか、特定のIPアドレスにするか、または別名でユーザーを作成し、そのユーザーに適切な権限を付与します。

例として、ユーザー名remote_user、パスワードanother_secure_passwordで、どのホストからでも接続できるユーザーを作成し、my_web_app_dbデータベースへの読み取り権限のみを付与する場合:

MariaDBシェルにrootユーザーでログインし、以下のコマンドを実行します。(パスワードは安全なものに置き換えてください)

sql
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'another_secure_password';
GRANT SELECT ON my_web_app_db.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;

  • 'remote_user'@'%': ユーザー名remote_userで、どのホスト(%)からでも接続できるユーザーを作成します。
  • GRANT SELECT ON my_web_app_db.*: my_web_app_dbデータベース内のすべてのテーブルに対して、SELECT(読み取り)権限のみを付与します。これにより、このユーザーはデータの読み取りはできますが、変更や削除はできません。必要に応じて、INSERT, UPDATE, DELETEなどの権限も追加で付与します。
  • FLUSH PRIVILEGES;: 権限の変更を反映させます。

これで、リモートのコンピュータから、ユーザー名remote_userとパスワードanother_secure_password、そしてMariaDBサーバーのIPアドレスを指定して接続できるようになります。

リモート接続の設定は、システムのセキュリティに直接影響します。設定は慎重に行い、必要最小限の範囲で許可するように心がけてください。

トラブルシューティング

インストールや設定中に問題が発生することは珍しくありません。ここでは、よくある問題とその解決策をいくつか紹介します。

インストールがうまくいかない場合

  • apt updateまたはapt installでエラーが発生する:
    • ネットワーク接続の確認: サーバーがインターネットに正しく接続できているか確認してください。ping google.comなどのコマンドで疎通を確認できます。
    • リポジトリの問題: /etc/apt/sources.list/etc/apt/sources.list.d/以下のファイルに記載されているリポジトリのURLが正しいか、アクセス可能か確認してください。まれにリポジトリサーバーの一時的な問題である可能性もあります。
    • パッケージキャッシュのクリア: sudo apt cleanを実行してパッケージキャッシュをクリアしてから再度sudo apt updateを試してみてください。
    • 依存関係の問題: エラーメッセージに特定のパッケージ名が含まれている場合は、そのパッケージに問題があるか、他のパッケージとの依存関係が壊れている可能性があります。エラーメッセージをよく読んで対処します。

MariaDBサービスが起動しない場合

  • サービス状態の確認: まずsudo systemctl status mariadbコマンドを実行し、サービスの状態とエラーメッセージを確認します。Active: failedとなっている場合は、ログにエラーの原因が記載されていることが多いです。
  • ログの確認: より詳細なログを確認するには、journalctlコマンドを使用します。

    bash
    sudo journalctl -u mariadb.service --since "yesterday"

    このコマンドは、過去24時間(”yesterday”から現在まで)のmariadb.serviceに関するログを表示します。エラーメッセージ(”Error”, “Failed”などのキーワード)を探して、原因を特定します。よくある原因としては、設定ファイルのエラーや、データディレクトリの権限問題などがあります。
    * 設定ファイルの確認: 最近設定ファイルを変更した場合、その内容に誤りがある可能性があります。sudo mariadbd --check-configコマンドで設定ファイルの構文エラーをチェックできます。
    * ディスク容量の確認: データベースの起動やログ書き込みにはディスク容量が必要です。サーバーの空き容量を確認してください(df -hコマンドなど)。
    * ポートの競合: 他のサービスが既に3306番ポートを使用している可能性があります。sudo netstat -tulnp | grep 3306コマンドなどで確認できます。

MariaDBに接続できない場合

  • MariaDBサービスが起動しているか: sudo systemctl status mariadbでサービスが実行中であることを確認します。
  • ユーザー名とパスワードが正しいか: ログインしようとしているユーザーのユーザー名とパスワードが正しいか再確認します。特にパスワードは非表示で入力されるため、注意深く入力してください。
  • 接続元ホストが許可されているか:
    • ローカルからの接続の場合: Unixソケット認証が有効か、またはmysql -u <user> -pでパスワード認証できるか確認します。mysql_secure_installationでrootのリモートログインを禁止した場合は、mysql -u root -p -h 127.0.0.1mysql -u root -p -h localhostでローカル接続を試します。
    • リモートからの接続の場合:
      • MariaDB設定ファイル(bind-address)がリモートからの接続を許可しているか確認します。
      • 接続しようとしているユーザーが、その接続元ホスト(または'%')からの接続を許可されているか確認します (GRANT文で指定したホストを確認)。
      • サーバーのファイアウォール(UFWなど)が3306番ポートへの接続を許可しているか確認します。
      • クライアント側のファイアウォールが、そのコンピュータからの3306番ポートへの接続をブロックしていないか確認します。
  • ネットワーク接続: クライアントとサーバー間のネットワーク疎通があるか確認します。ping <サーバーのIPアドレス>telnet <サーバーのIPアドレス> 3306(telnetがインストールされていれば)コマンドなどで確認できます。

rootパスワードを忘れてしまった場合

rootパスワードを忘れてしまった場合、パスワードなしでMariaDBを起動する「セーフモード」のような方法を使ってパスワードをリセットすることができます。この操作はシステムにroot権限でログインできる必要があります。

  1. MariaDBサービスを停止します: sudo systemctl stop mariadb
  2. MariaDBをパスワード認証スキップオプション付きで起動します: sudo mariadbd_safe --skip-grant-tables &
    • mariadbd_safeはMariaDBサーバーを安全に起動するためのスクリプトです。
    • --skip-grant-tablesオプションは、権限システムを無効にして起動します。この状態では誰でもすべてのデータベースにアクセスできてしまうため、作業が完了したらすぐにサービスを再起動する必要があります。
    • &を付けることで、コマンドをバックグラウンドで実行し、現在のシェルを解放します。
  3. MariaDBシェルにrootとして接続します(パスワードなしで接続できます): mysql -u root
  4. mysqlシステムデータベースを選択します: USE mysql;
  5. userテーブルのrootユーザーのパスワードを更新します。パスワードはハッシュ化して格納されます。MariaDB 10.x以降ではmysql_native_passwordプラグインを使うことが一般的です。

    sql
    UPDATE user SET password = PASSWORD('新しい安全なパスワード') WHERE User = 'root';

    注意: 上記のPASSWORD()関数はMariaDB/MySQLの古いバージョンで使用されました。新しいバージョンではALTER USER文を使用するのが推奨されます。また、使用される認証プラグイン(例: mysql_native_password, caching_sha2_password, unix_socketなど)によってパスワードのリセット方法や設定方法が異なります。

    より現代的で認証プラグインに依存しないリセット方法(ALTER USERを使用):
    まず、userテーブルのrootエントリを確認し、どのホストが設定されているか(通常はlocalhostと、Unixソケット認証用のエントリ)を確認します。

    sql
    SELECT User, Host, plugin FROM user WHERE User = 'root';

    パスワード認証でログインしたいrootユーザー(通常'root'@'localhost')のパスワードを設定します。認証プラグインも指定するのが確実です。

    sql
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新しい安全なパスワード' VIA mysql_native_password;

    (認証プラグインはmysql_native_passwordがよく使われますが、環境によっては他のプラグインが必要な場合もあります。もしSELECTコマンドで表示されたプラグインがunix_socket以外であれば、そのプラグイン名を指定すると良いでしょう。)

  6. 権限テーブルを再読み込みします: FLUSH PRIVILEGES;

  7. MariaDBシェルを終了します: QUIT;
  8. バックグラウンドで実行しているMariaDBプロセスを停止します。ps aux | grep mariadbd_safeなどでプロセスIDを確認し、kill <プロセスID>で停止するか、単にサーバーを再起動しても構いません。
  9. MariaDBサービスを通常通り起動します: sudo systemctl start mariadb
  10. 新しいパスワードを使ってrootユーザーでログインできるか確認します: mysql -u root -p

パスワードリセットは繊細な操作であり、環境によって詳細が異なる場合があります。もし自信がない場合は、信頼できる専門家に相談するか、MariaDBの公式ドキュメントを参照してください。 上記の方法は一般的な手順であり、特定のMariaDBのバージョンや設定によっては動作が異なる可能性があります。特にUnixソケット認証を使用している場合は、OSのroot権限があればパスワードなしでログインできるため、パスワードリセットが不要な場合もあります。

これらのトラブルシューティングのヒントが、問題解決の助けになれば幸いです。

まとめ:次のステップへ

これで、DebianシステムにMariaDBをインストールし、初期セキュリティ設定を行い、基本的なデータベース操作(データベースとユーザーの作成、権限付与)ができるようになりました。また、MariaDBサービスの管理方法や、リモート接続の設定、一般的なトラブルシューティングについても学びました。

この記事で扱った内容は、MariaDBを使い始めるための基礎中の基礎です。実際のシステム運用では、さらに多くの知識と技術が必要になります。

次に学ぶべきこととして、以下のようなトピックがあります。

  • バックアップとリカバリ: データベースのデータは非常に重要です。定期的なバックアップの方法(mariadb-dumpコマンドやMariaDBのバックアップツールなど)と、バックアップからの復旧方法を習得する必要があります。
  • パフォーマンスチューニング: データベースの負荷が高くなった場合に、パフォーマンスを改善するための方法(クエリの最適化、インデックスの活用、MariaDB設定パラメータの調整など)を学びます。
  • レプリケーションとクラスタリング: データベースの冗長性を確保したり、読み込み負荷を分散させたりするために、複数のMariaDBサーバー間でデータを同期させる技術(レプリケーション)や、高可用性を提供するクラスタリング技術(Galera Clusterなど)があります。
  • モニタリング: データベースサーバーの状態(CPU使用率、メモリ使用率、ディスクI/O、接続数、クエリの実行時間など)を継続的に監視し、問題が発生する前に兆候を掴むことが重要です。
  • より高度なセキュリティ設定: SSL/TLSによる接続暗号化、ユーザー権限のより詳細な設定、監査ログなど、さらにセキュリティを強化するための方法があります。
  • SQLの学習: より複雑なデータを操作するために、SQLの知識を深めることが不可欠です。

MariaDBに関する情報は、以下の公式ドキュメントやコミュニティサイトに豊富にあります。

これらのリソースを活用して、さらにMariaDBの理解を深めていってください。

この記事が、あなたのMariaDB活用の第一歩として役立てば幸いです。安全で快適なデータベースライフを!

コメントする

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

上部へスクロール