・mysql の用途
- postfix のコンパイルにmysqlのライブラリが必要
- 各Webアプリ(Roundcube、Tiny Tiny RSS、NextCloud、Wordpressなど)
- Mattermost (日本語全文検索を簡単に有効にする為、postgresqlではなくmysql 5.7 を選択)
・mysql 5.7 のインストール
#-- mysql の root パスワードを設定
PASSWORD=********
#-- 関連リポジトリの追加
yum remove -y mysql-community-release
yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum install -y https://packages.groonga.org/centos/groonga-release-1.3.0-1.noarch.rpm
#-- mroonga は mattermost での日本語検索で必要(mattermostをインストールしないなら必要なし)
yum install -y mysql57-community-mroonga mysql-community-devel
#-- mysql の設定
cp -p /etc/my.cnf{,.org}
cat <<_EOL_>> /etc/my.cnf
character-set-server = utf8mb4
innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
#validate_password_length=7
#validate_password_policy=LOW
#[mysql]
#default-character-set = utf8mb4
_EOL_
#-- mysqld の起動
systemctl enable mysqld
systemctl start mysqld
#-- .my.cnf の作成
TMPPASS="$(awk '/temporary password/{print $NF}' /var/log/mysqld.log)"
cat <<_EOL_> /root/.my.cnf
[client]
host = localhost
user = root
password = "${TMPPASS}"
socket = /var/lib/mysql/mysql.sock
_EOL_
chmod 600 /root/.my.cnf
export HOME=/root
#-- パスワードポリシーの緩和
mysql --connect-expired-password -e "SET GLOBAL validate_password_policy=LOW;" ;
mysql --connect-expired-password -e "SET GLOBAL validate_password_length=7;"
mysqladmin -u root -p${TMPPASS} password "${PASSWORD}"
sed -i "s/^password.*/password = ${PASSWORD}/" ~/.my.cnf
mysql -e "SET GLOBAL validate_password_policy=LOW;" ;
mysql -e "SET GLOBAL validate_password_length=7;"
sed -i 's/^#validate/validate/' /etc/my.cnf
・ これ以降、mysql の update には下記のコマンドを実行する
yum update -y mysql-community-server mysql-community-client
yum reinstall -y mysql57-community-mroonga