1.使用以下命令从docker Hub去下载MySQL官方提供的docker镜像。默认tag是latest。

docker pull mysql

如果要使用其它tag,则示例如下. "8.0"是tag。什么是tag?tag就是版本号。

docker pull mysql:8.0

 

2.使用以下命令启动容器.

docker run --name='sky-mysql' -e 'MYSQL_ROOT_PASSWORD=abcd2019' -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql:8.0

注意:以上命令加了“-p 3306:3306”,这是要把容器的3306端口号与宿主机的3306端口做一个映射。

敲黑板啦,划重点了。

安装了MySQL的数据库之类的,我们往往要从远程访问数据,但MySQL在docker的官方帮助页面没有提供相关命令的使用例子。

 

在上面的命令当中,“-e MYSQL_ROOT_HOST=%” 这个选项就是用来设置允许远程访问的。

在网上搜到一些帖子,提供了其它方法,但试过之后,还是这个方法最管用。

 

3.进入MySQL容器。

sudo docker exec -it sky-mysql bash

 

4.在MySQL 容器内部,登录MySQL DB.

如果不用docker,我们安装好了MySQL要做的第一件事往往是登录MySQL。只不过现在这一步是在docker容器里面操作的。

看到下面的-uroot不? root是用户名 ; -p 代表着按了回车后要输入root用户的密码。

root用户如果不记得,请回忆第二条命令的这个选项:-e 'MYSQL_ROOT_PASSWORD=abcd2019'

mysql -uroot -p

 

5.使用以下SQL语句去测试,看看我们的MySQL是否真的安装好了。这是在MySQL容器内部操作的。

show databases;

Docker MySQL的安装与远程连接

 

6. 创建一个新的数据库。依然是在MySQL容器内部操作的。

create database galaxy;

 

7.打开Navicate Premum,连接MySQL。

Docker MySQL的安装与远程连接

 

 

如上图,能看见我们刚才创建的galaxy数据库,这说明远程连接是成功的。

 参考链接:

远程连接docker MySQL

https://medium.com/@backslash112/start-a-remote-mysql-server-with-docker-quickly-9fdff22d23fd

 

MySQL docker官方帮助页面

https://hub.docker.com/_/mysql?tab=description