Wordpress用に使っているMySQLを他の用途にも使用したく、8にバージョンアップさせた。自分が使用しているのがDockerによる利用なので、正式な手順はこことなる。
https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html#docker-upgrading
どうやら、コンテナ内で mysql_upgrade というコマンドを打つ手順になっているのだが、よく見ると
For MySQL 8.0.15 and earlier: Run the mysql_upgrade utility in the MySQL 8.0 Server container (not required for MySQL 8.0.16 and later):
という記載があり、今回のアップグレード先は8.0.26なので、もしかしたら何もいらないかもしれない。ということでdocker-composeファイルを編集した。
$ sudo vi docker-compose.yml
services:
db:
image: mysql:8 # 5.7と書いてあったものを8に変更
environment:
$ sudo docker-compose up -d
で完了なのだが、なんだか微妙なエラーが出るようになった。
mbind: Operation not permitted
調べてみたら、以下の設定を加えるとでなくなるらしいので、とりあえず対応問題なくエラーがでなくなった。
cap_add:
- SYS_NICE
で最終的なdocker-composeファイルは以下となった
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: pwg3macintosh
command:
- --table_definition_cache=400
- --performance_schema=0
restart: always
volumes:
- ./db/mysql/data:/var/lib/mysql
cap_add:
- SYS_NICE