b-shock. Fortress

FreeBSD MySQL 5.7

FreeBSDでは訳あってMySQL 5.6を使っていたが、この度順次5.7への更新を始めた次第。

MySQLのアップグレード

以下実行。

1
2
3
4
5
6
su
service mysql-server stop
pkg install mysql57-server
service mysql-server start
gem install mysql2
mysql_upgrade -u root -p

mysql_upgradeのあとは、今までのrootパスワードを入力。
rootパスワードは変更はされていないので、安心していい。

ちなみに、インストール後にこんなメッセージが表示される。

1
2
3
4
5
6
7
Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
ie. when you want to use "mysql -u root -p" first you should see password
in /root/.mysql_secret

MySQL57 has a default %%ETCDIR%%/my.cnf,
remember to replace it wit your own
or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.

ふむなるほど。
新規導入の時は、 /root/.mysql_secret を読めという話ですな。

それにしても、以前5.6から5.7への更新を行った時は、InnoDBがそのままでは使えなかった。
どうやらSQLダンプからの再インポートが必要だった様だが、その後のバージョンアップで 改善されたのだろうか。

PowerDNSも使用している場合

PowerDNSをMySQLをストレージとして運用する場合、pkgコマンドからではなくportsから makeする必要がある為、MySQLをアップグレードした場合にはPowerDNSの再ビルドが必要。

また、portsからmakeする場合は、pkgコマンドから上書き出来ない様にロックするのが 普通と思う。
以下実行。

1
2
3
4
pkg unlock powerdns
portupgrade -f powerdns
pkg lock powerdns
service pdns restart

当方、portupgradeを使用している為に上記のような手順になってるけど、 他ツールをご利用の向きは読み替えて頂きたい。

PowerDNSの起動後、syslogに以下の様なログが出てればOK。

1
gmysql Connection successful. Connected to database 'pdns' on 'localhost'.

以上。