rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

MariaDBをManjaro Linux(Arch Linux)にインストール

2020 Sep. 07.

パッケージインストール

# pacman -S mariadb

設定ファイルは(/etc/mysql/my.cnfではなく)/etc/my.cnf
MariaDB - ArchWiki

/etc/my.cnfを編集

[mysqld]
character-set-server=utf8

初期設定その1

# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# systemctl start mariadb.service
# systemctl enable mariadb.service

初期設定その2

# mysql_secure_installation
 [ you can safely answer 'n']とメッセージが出るので、
 [ Switch to unix_socket authentication [Y/n] n ]としてしまうと
 sudo無しではmysqlのrootユーザーでmysqlを起動できなくなる。

 次のようにYを入力する。
 Switch to unix_socket authentication [Y/n]
 Change the root password? [Y/n]

上記で $ mysql -p -u root ができなかったら
下記をやってみる。
$ sudo mysql -u root -p
  mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
  mysql> FLUSH PRIVILEGES;   別のターミナルを開いて sudo 無しでログインできるか確認する

文字コード設定確認

$ mysql -u root -p
次の結果でset_filesystemとsets_dir以外が全てutf8ならば問題ない。
mysql> show variables like "char%";

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

EPGREC用設定

sql-modeの指定をしない(strict制約をしない)。sql_mode=''
・書き出し先ディレクトリ制約をしない。secure-file-priv = ""

[mysqld]
sql_mode=''
secure-file-priv = ""