Docker下搭建Mysql

1.查看仓库镜像

docker search mysql

2.然后从hub.docker.com或者第三方有加速的docker网站查看mysql镜像版本

3.拉取镜像,我这里用的是5.7.28版本

docker pull mysql:5.7.28

4.查看本地镜像

docker images

5.开启mysql一个容器

docker run --name mysql5.7.28 --restart=always -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5.7.28 --lower_case_table_names=1
-v /etc/localtime:/etc/localtime:ro 设置容器的时间与宿主机同步
--restart=always 随docker启动而启动
-e MYSQL_ROOT_PASSWORD=root 初始化密码
--lower_case_table_names=1 表名忽略大小写

6.mysql远程连接

navicat远程连接mysql容器 --> 外网地址:3306;如果是阿里云或者腾讯云服务器,安全组3306端口要开放。

7.进入mysql容器

docker exec -it 容器id或者容器名字 /bin/bash

8.退出mysql容器

后续补充(20200114)
1.前面所有步骤操作完成后,运行一段时间发现自己新建的数据库会丢失,貌似应该事docker重启导致的数据丢失

2.配置数据挂载卷
步骤一:在usr/data/目录下新建mysql文件夹
步骤二:在usr/data/mysql/目录下新建conf、data、logs文件夹和my.cnf文件
步骤三:编辑my.cnf文件,下记内容拷贝进去

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

3.docker rm + 原来容器id,删除原来容器
4.执行新的运行容器命令

docker run --name mysql5.7.28 --restart=always --privileged=true -v=/usr/data/mysql/my.cnf:/etc/my.cnf -v=/usr/data/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5.7.28 --lower_case_table_names=1

参数说明:
–restart always:开机启动
–privileged=true:提升容器内权限
-v=/usr/data/mysql/my.cnf:/etc/my.cnf:映射配置文件
-v=/usr/data/mysql/data:/var/lib/mysql:映射数据目录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容