UbuntuへのMariaDBインストール手順と設定
UbuntuにMariaDBをインストールして利用する手順です。
コマンドなど、基本的にはMySQLと同じものが利用できます。
バージョン
- Ubuntu(WSL) - 20.04.2 LTS
- MySQL - 10.3.30(サーバ) / Ver 15.1 Distrib 10.3.30(クライアント)
MariaDBのインストール
sudo apt update
sudo apt install mariadb-server
サービスの開始と停止
サービスの開始
sudo service mysql start
サービスの停止
sudo service mysql stop
設定
sudo mysql_secure_installation
この時、サービスを開始してから実行しないと、次のようなエラーが発生します。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
各確認項目は次のように進める。
Enter current password for root (enter for none):
エンター
rootのパスワードを設定するか? - n
Set root password? [Y/n]
デフォルトの匿名ユーザを削除するか? - Y
Remove anonymous users? [Y/n]
rootのリモートログインをブロックするか? - Y
Disallow root login remotely? [Y/n]
テストデータベースを削除するか? - Y
Remove test database and access to it? [Y/n]
今すぐユーザー権限テーブルを再読み込みするか? - Y
Reload privilege tables now? [Y/n]
MariaDBに接続する
次のいづれかのコマンドで接続可能です。(rootユーザ、パスワード無しの場合)
$ sudo mariadb -u root -p
$ sudo mariadb
$ sudo mysql -u root -p
$ sudo mysql
ユーザの追加
ユーザを確認する
MariaDB [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
ユーザを追加する
MariaDB [(none)]> CREATE USER '<ユーザー>'@<ホスト> IDENTIFIED BY '<パスワード>';
ユーザの権限を変更する
MariaDB [(none)]> GRANT ALL PRIVILEGES ON <データベース>.<テーブル> TO '<ユーザー>'@<ホスト>;
MariaDB [(none)]> FLUSH PRIVILEGES;
タイムゾーンを設定する
MariaDBに接続した状態で、次のコマンドを実行すると、現在のタイムゾーンを確認できます。
MariaDB [(none)]> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | JST |
| time_zone | SYSTEM |
+------------------+--------+
タイムゾーンを変更する
- 次のコマンドを実行し、タイムゾーンテーブルをロードする
$ /usr/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo > ~/timezone.sql $ sudo mysql -u root -p -Dmysql < ~/timezone.sql
/etc/mysql/mariadb.conf.d/50-server.cnf
の[mysqld]
に次の行を追加する
※viエディタの場合、sudoで実行することdefault-time-zone = 'Asia/Tokyo'
- MariaDBを再起動する
- MariaDBに接続し、タイムゾーンが変更されたことを確認する
MariaDB [(none)]> show variables like '%time_zone%'; +------------------+------------+ | Variable_name | Value | +------------------+------------+ | system_time_zone | JST | | time_zone | Asia/Tokyo | +------------------+------------+
文字コードの確認
show variables like "chara%";
文字コードと照合順序を確認する
SELECT SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME,DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA;
+--------------------+----------------------------+------------------------+
| SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME |
+--------------------+----------------------------+------------------------+
| information_schema | utf8 | utf8_general_ci |
| mysql | utf8mb4 | utf8mb4_general_ci |
| performance_schema | utf8 | utf8_general_ci |
+--------------------+----------------------------+------------------------+
外部接続を許可する
/etc/mysql/mariadb.conf.d/50-server.cnf
の次の行をコメントアウトする
- 変更前
bind-address = 127.0.0.1
- 変更後
#bind-address = 127.0.0.1
- 変更前
- MariaDBを再起動する