雷って幻想的だよね?

宗教:C#、ラノベ好きの戯言です。※Google Analytics 埋め込みを利用しています。

MySQL8のDocker確認

MySQL8とPHPをとりあえず動かしたのでメモ。

5.7で試してたけど…
※パスワード認証は胃z年お方式に設定しなおしています。

docker-composeの中身これを動かせばlocalhost:8080で確認できます。

version: '3.3'
services:
# MySQL
db:
image: mysql:8.0.14
container_name: db_host
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD_SETTING}
MYSQL_DATABASE: ${MYSQL_DATABASE_SETTING}
MYSQL_USER: ${MYSQL_USER_SETTING}
MYSQL_PASSWORD: ${MYSQL_PASSWORD_SETTING}
TZ: 'Asia/Tokyo'
command: --default-authentication-plugin=mysql_native_password
volumes:
- ./docker/db/data:/var/lib/mysql
ports:
- 3306:3306

#PHP
phpmyadmin:
container_name: php
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOSTS=db_host
- PMA_USER=root
- PMA_PASSWORD=${MYSQL_ROOT_PASSWORD_SETTING}
ports:
- 8080:80

ちなみに、マイグレーションをする際は
DockerでMySQL8.0の環境構築 & 認証方式変更 - わくわくBank
ここのやり方でやって、最後の問題の個所は力業で、

CREATE TABLE `__EFMigrationsHistory` ( `MigrationId` nvarchar(150) NOT NULL, `ProductVersion` nvarchar(32) NOT NULL, PRIMARY KEY (`MigrationId`) );

を実行することで問題なく利用できるようになりました。

以上。