Docker实践(3)部署mysql实例
获取 mysql 镜像
从docker hub的仓库中拉取mysql镜像1
$ docker pull mysql:5.6.40
列出本地镜像1
$ docker image ls
输出镜像列表1
2REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.6.40              5f5ccdc8aedc        6 weeks ago         256MB
运行 mysql 容器
| 1 | $ $ docker run --name mysql-server -p 3306:3306 -e MYSQL_ROOT_PASSWORD=147258369 -d mysql:5.6.40 | 
参数解释
- run运行一个容器
- --name后面是指定给这个容器的名称
- MYSQL_ROOT_PASSWORD设置mysql中root用户对应的密码
- -d表示使用守护进程运行,即服务挂在后台
查看运行的容器1
$ docker container ls
输出容器列表1
2CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
2e619f2dfb18        mysql:5.6.40        "docker-entrypoint.s…"   22 seconds ago      Up 21 seconds       3306/tcp            mysql-server
安装 mysql-client
要访问数据库,需要安装 mysql 客户端1
$ sudo apt-get install mysql-client
登录 mysql1
$ mysql -h127.0.0.1 -uroot -p147258369
执行 mysql 脚本查询数据库列表1
mysql> show databases;
输出结果1
2
3
4
5
6
7
8
9+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
常见问题
ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded
问题描述:
可能安装了最新的 MySQL 版本,导致远程登录时出现如下错误1
2
3
4
5连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 
‘caching_sha2_password’ cannot be loaded
C:\mysqldata>mysql -h 127.0.0.1 -P 13306 -uroot -p Enter password: 
** ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded:
解决方案:
- 进入 mysql-server 容器 - 1 - $ docker exec -it mysql-server /bin/bash - 参数解释: - -i让容器的标准输入保持打开
- -t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
 
- 在 mysql 容器中执行登录 mysql 的命令 - 1 - # mysql -uroot -p147258369 
- 修改密码 - 1 - ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '147258369'; 
- 使用 - exit命令退出 mysql,再使用- exit命令退出容器。
本文作者 : 王海
原文链接 : https://blog.whai.me/2018/06/20/docker-3-mysql/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!