MySQLに接続してみよう
材料
- さくらVPS
- docker-compose
- MySQL公式サンプルデータベース
- teraterm
準備
mysql-test/
+ docker-compose.yml
+ conf.d/
+ data/
+ docker-entrypoint-initdb.d/
+ world.sql.gz
docker-compose.yml
# vim: set ts=2 et:
version: '3.1'
services:
db:
image: mysql:8.0.24
volumes:
- ./data:/var/lib/mysql
- ./conf.d:/etc/mysql/conf.d
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
command: --default-authentication-plugin=mysql_native_password
cap_add:
- SYS_NICE
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: world
MYSQL_USER: user1
MYSQL_PASSWORD: pass1
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOSTS=db
- PMA_USER=root
- PMA_PASSWORD=my-secret-pw
ports:
- 10080:80
$ wget https://downloads.mysql.com/docs/world.sql.gz
$ mv world.sql.gz docker-entrypoint-initdb.d/
起動&確認
docker-compose up // or start
http://localhost:10080
でブラウザアクセスするとphpmyadminが起動
なお、PyCharmであればSSHトンネルの使用という機能でTeraTermでのSSHポートフォワードの設定の代わりができる(Professional版)
dockerのmysql8環境でmbind: Operation not permitted
【SQL】MySQL公式サンプルデータベースを使う - Qiita
TeraTerm SSH転送(ポートフォワード)機能よりローカルIPアドレスでphpmyadminログイン - 協栄情報ブログ
PyCharmでSSHトンネル経由でDBに接続する - Qiita