Mac下配置Docker——Mysql

下载 

docker pull mysql

默认下载的是8

sudo docker run --name mysql -p 12345:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

目前使用Mysql8的Image,使用客户端连接会出现以下错误

Mac下配置Docker——Mysql_第1张图片
 

分析原因是由于Mac本地使用的Mysql5.7的Dirver。无法访问Mysql8。

下载5.7之后,真的成功了。

Mac下配置Docker——Mysql_第2张图片

如上图所示,当然还有一个database才能通过客户端连接上。

bennydeMacBook-Pro:~ benny$  sudo docker run --name mysql57 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=111111 -d mysql:5.7
Password:
9a5589f2defffa8b689fb230b4d3fc9b92df0549d7226884461aad1ee15e5e14
bennydeMacBook-Pro:~ benny$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
9a5589f2deff        mysql:5.7           "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds        33060/tcp, 0.0.0.0:3309->3306/tcp    mysql57
a04a10919539        mysql               "docker-entrypoint.s…"   About an hour ago   Up 17 minutes       33060/tcp, 0.0.0.0:12345->3306/tcp   mysql
e06dcc39029e        centos-net          "/bin/bash"              17 hours ago        Up 17 hours         0.0.0.0:32775->80/tcp                lucid_kowalevski
bennydeMacBook-Pro:~ benny$ docker kill a04a10919539
a04a10919539
bennydeMacBook-Pro:~ benny$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
9a5589f2deff        mysql:5.7           "docker-entrypoint.s…"   22 seconds ago      Up 21 seconds       33060/tcp, 0.0.0.0:3309->3306/tcp   mysql57
e06dcc39029e        centos-net          "/bin/bash"              17 hours ago        Up 17 hours         0.0.0.0:32775->80/tcp               lucid_kowalevski
bennydeMacBook-Pro:~ benny$ sudo docker exec -it mysql57 bash

其中需要进行端口的重映射

mysql -uroot -p

然后使用以上命令,真的可以启动了Mysql了

 

Utf-8的设置

可以在客户端工具里支持进行修改,我使用的是Dbeaver。

Mac下配置Docker——Mysql_第3张图片

当然以上方法需要每个表进行修改,因为这时整个Database默认使用的还是latin。

还可以通过修改配置文件 的方法

http://www.cnblogs.com/liyingxiang/p/5877764.html

但由于Docker中没有VI,可以通过-v命令进行在宿主上定义配置文件,后映射到容器中。

https://www.cnblogs.com/cfrost/p/6241892.html

MySQL常用命令

mysql -v

mysql> show databases;

mysql> show tables; //需要先选择一个数据库

mysql> use database;

你可能感兴趣的:(Docker)