简单版
第一步:查看mysql镜像
第二步:拉取mysql镜像到本地中
第三步:使用mysql镜像创建并运行mysql容器
第三步:查看docker正在运行的容器
看到这个mysql1903容器名,说明你第三步成功。
第四步:进入mysql容器内部,并连接mysql
第五步:再外部测试是否能连接mysql容器
第六步:创建数据库和表
此方法虽然简单,但是存在两个问题
问题一:插入中文乱码报错
问题二:误删除mysql容器,mysql里面数据会丢失
因为存在以上两个问题,所以推出实战版安装mysql
实战版
第一步:创建并运行mysql容器
docker run -d -p 3306:3306 --privileged=true
-v /zzyyuse/mysql/log:/var/log/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456 --name mysql1903 mysql:5.7
第二步:进入到容器挂载的/zzyyuse/mysql/conf/ 配置目录下,创建my.cnf文件
vim my.cnf进入文件,写入以下内容,最好复制:
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
my.cnf配置文件解决插入中文乱码问题一
第三步:重启mysql容器,让配置生效,进入mysql容器内部,连接起来查看字符集
可以看到,字符集都变成utf8了。
结论:docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据
思考:假如删除mysql容器实例,之前mysql容器里面的数据还在吗?
try time!!!!!
1、先强制删除mysql1903这个镜像实例,docker ps查看docker中正在运行的容器,也看到确实删除了。
2、重新创建运行mysql容器,不过容器卷挂载的文件要使用之前挂载的三个目录,因为之前的数据都在那三个目录里面。
可以看到数据回来了,都还在。