MariaDB
導入
CentOS 7
utf8mb4
TRADITIONAL モード
当然 Barracuda + Dynamic
新しいやつにする → Setting up MariaDB Repositories
組み込みの 5.5 だと innodb_default_row_format が指定できない
innodb_file_format=Barracuda にしても Row format は Compact のまま
CREATE or ALTER 時に ROW_FORMAT=DYNAMIC をわざわざ指定しないといけない
指定せずに utf8mb4 にすると varchar(255) 系の処理系でキー長が不足するため自動化と相性が悪い
テストデータベースと匿名・リモートユーザーを削除
自分アカウント追加
root は使わない
code:bash
# install repos
sudo cat << '____________________' | sudo tee /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.3 CentOS repository list - created 2018-10-21 08:17 UTC
# http://downloads.mariadb.org/mariadb/repositories/
mariadb
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
____________________
# install
sudo yum -y install MariaDB-server MariaDB-client
# configure
sudo cat << '____________________' | sudo tee /etc/my.cnf.d/our.cnf
server
character-set-server=utf8mb4
sql-mode = TRADITIONAL
client
default-character-set=utf8mb4
____________________
# run
sudo systemctl start mariadb
# remove anonymous/remote accounts and test databases
mysql -u root <<____________________
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;
____________________
# create me
mysql -u root <<____________________
CREATE USER ${USER}@localhost;
GRANT ALL PRIVILEGES ON *.* TO ${USER}@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
____________________
# set my password (prompt)
mysqladmin password
# goodbye root
mysqladmin -u root password $(pwmake 128)