A certain engineer "COMPLEX"

開発メモ その147 MySQLをDockerで動かす

Introduction


起動するだけなら何でもないのだが、コンテナ内のデーモンに繋がらない。
これで時間を無駄にした。

Resolution


構文


$ docker pull mysql
$ docker run --name <コンテナの名前> ^
-e MYSQL_ROOT_PASSWORD=<ROOTユーザーのパスワード> ^
-d ^
-v /c/Users/{ユーザディレクトリ}/Documents/workspace:/var/lib/mysql ^
-p <ホストのポート>:<コンテナのポート> ^
mysql
$ mysql --user=root --password=<ROOTユーザーのパスワード> -h localhost --port=<ホストのポート>


$ docker pull mysql:5.7
$ docker run --name mysql ^
-e MYSQL_ROOT_PASSWORD=password ^
-d ^
-v /d/works/mysql:/var/lib/mysql ^
-p 53306:3306 ^
mysql:5.7
$ mysql --user=root --password=password -h localhost --port=53306
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Why?


躓いたのはmysqlで接続する際のパスワード指定
普通、対話形式でパスワードを聞かれるから指定しなくてもいいかな?と思う。
現にパスワードをコマンドラインで指定すると、


mysql: [Warning] Using a password on the command line interface can be insecure.

というありがたい警告。
パスワードを聞かれるようにするには


$ mysql --user=root --password -h localhost --port=53306
Enter password:

というようにする。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。