編集の要約なし
41行目: 41行目:
リモートから root で MariaDB にログインできると危険なので削除。
リモートから root で MariaDB にログインできると危険なので削除。


===rootのパスワードをリセットする===
===rootのパスワードリセット===
一旦MariaDBのプロセスを落としてからセーフモードで起動、パスワードを設定してMariaDBのプロセスを再度起動させてやるだけ。
一旦MariaDBのプロセスを落としてからセーフモードで起動、パスワードを設定してMariaDBのプロセスを再度起動させてやるだけ。



2025年3月17日 (月) 15:17時点における版

MariaDB
Library

MariaDB とはデータベース倉庫を管理するためのApp。C言語製。倉庫にあるデータを高速に参照/更新/計算したりできる。アプリは基本的にこのデータベース倉庫と連携しながら動くので SQL には十分に精通しておく必要がある。

当然ながら、MariaDB の公式の説明書公式チュートリアル は一通り読んでおく。

クイックメモ

セットアップ

  1. 設定ファイル etc/my.cnf のモード、所有者、システム変数を確認
  2. /var/lib/mysqlディレクトリの所有者を mysql に変更
  3. ローカル利用ならリモート接続を禁止
  4. 日本語入力のズレを解消
$ mysqladmin -u root -p status
$ ss -tan
SHOW VARIABLES LIKE 'char%';
$ vi /etc/my.cnf

[mysqld]
skip-networking
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
  • character_set_system は MariaDB の内部システム用の設定 だから、utf8mb3 のままでOK

セキュリティ

DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost');

リモートから root で MariaDB にログインできると危険なので削除。

rootのパスワードリセット

一旦MariaDBのプロセスを落としてからセーフモードで起動、パスワードを設定してMariaDBのプロセスを再度起動させてやるだけ。

# systemctl stop mariadb
# mysqld_safe --skip-grant-tables &
alter user 'root'@'localhost' identified by 'new_passwd';
# systemctl stop mariadb
# systemctl start mariadb

以上。できなかったら「flush privileges」してから。