docker安装mysql的方法是什么

免费教程   2024年05月09日 11:27  

今天小编给大家分享一下docker安装mysql的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

快速完成

直接复制粘贴跟着做即可快速完成,可以不用查看详细步骤

dockerpullmysql:5.7dockerrun-d-p3306:3306--privileged=true-v/usr/local//log:/var/log/-v/usr/local//data:/var/lib/-v/usr/local//conf:/etc//conf.d-eMYSQL_ROOT_PASSWORD=123456--namemysqlmysql:5.7cd/usr/local//confvimmy.cnf

粘贴下面内容并保存

[client]default_character_set=utf8[mysqld]collation_server=utf8_general_cicharacter_set_server=utf8dockerrestartmysql

使用工具测试(记得要打开端口),root用户密码为123456

详细步骤首先搜索镜像dockersearchmysql拉取镜像

搜索出来的第一个就行,不指定版本就获取最新版,我这里用5.7

dockerpullmysql:5.7创建容器(运行镜像)

内外都使用3306端口(确保你的宿主机3306端口没有被占用,比如你的宿主机也装了mysql),并指定root用户密码为123456

dockerrun-p3306:3306-eMYSQL_ROOT_PASSWORD=123456-d--namemysqlmysql:5.7进入容器

在容器内部连接mysql,创建一个数据库,测试mysql是否正常使用

dockerexec-itmysql/bin/bash

创建一个表,并插入数据,也都是ok的

本地使用连接工具连接

在本地使用Navicat工具连接,并插入记录、查询也都是没有问题的

但是,在插入中文的时候报错了

修改字符集

中文报错肯定是字符集问题了,在容器中查看字符集(客户端工具会把部分字符集处理成本地字符集),可以看到大部分都不是utf8

showvariableslike'character%';

现在mysql的配置文件还是在容器里面,并没有映射到宿主机,修改起来不是很方便,并且也不安全,容器删除就没有了

此时就需要用到容器数据卷了,不了解的可以查看上篇博文:点这里

使用容器数据卷挂载mysql数据、配置文件、日志

把上面那个容器删了,重新创建一个容器,这次命令如下

dockerrun-d-p3306:3306--privileged=true-v/usr/local/mysql/log:/var/log/mysql-v/usr/local/mysql/data:/var/lib/mysql-v/usr/local/mysql/conf:/etc/mysql/conf.d-eMYSQL_ROOT_PASSWORD=123456--namemysqlmysql:5.7

挂载三个目录,分别是日志、数据、配置文件

创建mysql的配置文件

上面已经挂载了mysql的配置文件目录,就可以直接在宿主机操作对应的目录了

在配置文件目录新建一个my.cnf配置文件,写入下面内容,设置客户端和mysql服务器端编码都为utf8

[client]default_character_set=utf8[mysqld]collation_server=utf8_general_cicharacter_set_server=utf8

改完配置文件后,重启mysql容器,再次进入容器查看字符集,可以看到已经全部正确

再次创建库表,插入中文测试,成功插入

并且mysql的数据目录也已经挂载到本地了,就算把容器删除创新创建一个容器,也使用同样的数据卷,就可以恢复之前创建的库表。

以上就是“docker安装mysql的方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部