<AI>
IPv6 で mariadb localhost はどうすればよいか

IPv6 環境で MariaDB の localhost 接続(またはローカル接続)を設定・利用するには、
IPv6 のローカルホストアドレスである ::1 を使用します。

設定と接続の具体的な手順は以下の通りです。

1. サーバー設定の確認(サーバー側)
MariaDB が IPv6 での接続を受け付けるように設定ファイル(my.cnf または 50-server.cnf など)を編集します。
設定ファイルの場所(例): /etc/mysql/my.conf.d/server.cnf
変更内容: bind-address を ::1 またはすべての既知のアドレス(::)に設定します。

ini
[mysqld]
# IPv6のローカルホストのみ許可する場合
bind-address = ::1

# IPv4とIPv6の両方で全インタフェースを許可する場合
# bind-address = ::

※設定変更後、MariaDB サービスを再起動(sudo systemctl restart mariadb)してください。

2. ユーザー権限の付与(データベース側)
MariaDB 内のユーザーが ::1 から接続できるように権限を設定します。
SQL を実行してユーザーを作成・確認します。

ユーザー作成例:
sql
CREATE USER 'ユーザー名'@'::1' IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザー名'@'::1';
FLUSH PRIVILEGES;

3. クライアントからの接続方法
コマンドラインから IPv6 のローカルホストを指定して接続する場合、ホスト引数(-h)に ::1 を指定します。

接続コマンド:
bash
mariadb -h ::1 -u ユーザー名 -p

💡 注意点
localhost という文字列の挙動: Linux の多くの環境において、接続先ホスト名に localhost(文字列)を指定すると、
ネットワークソケット(TCP/IP)ではなく UNIX ドメインソケット(/var/run/mysqld/mysqld.sock) が自動的に使用されます。
TCP/IP 経由の IPv6 接続を強制したい場合は、文字列の localhost ではなく明確に ::1 を指定してください。