Docker实践(3)部署mysql实例

发布 : 2018-06-20 分类 : Notes 浏览 :

获取 mysql 镜像

从docker hub的仓库中拉取mysql镜像

1
$ docker pull mysql:5.6.40

列出本地镜像

1
$ docker image ls

输出镜像列表

1
2
REPOSITORY          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
2
CONTAINER 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

登录 mysql

1
$ 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:

解决方案:

  1. 进入 mysql-server 容器

    1
    $ docker exec -it mysql-server /bin/bash

    参数解释:

    • -i 让容器的标准输入保持打开
    • -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
  2. 在 mysql 容器中执行登录 mysql 的命令

    1
    # mysql -uroot -p147258369
  3. 修改密码

    1
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '147258369';
  4. 使用 exit 命令退出 mysql,再使用 exit 命令退出容器。

本文作者 : 王海
原文链接 : https://blog.whai.me/2018/06/20/docker-3-mysql/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹