docker安装mysql完美教程(建议收藏!)

 更新时间:2023年03月10日 14:53:47   作者:阿演  
最近使用docker,故将数据库和程序都用docker来一遍,下面这篇文章主要给大家介绍了关于docker安装mysql完美教程的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

记录docker安装mysql步骤,并处理遇到的问题

快速完成

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

docker pull mysql:5.7
docker run -d -p 3306: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 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
cd /usr/local/mysql/conf
vim my.cnf

 粘贴下面内容并保存

​
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
docker restart mysql

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

详细步骤 

首先搜索镜像

docker search mysql

拉取镜像

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

docker pull mysql:5.7

创建容器(运行镜像)

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

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql mysql:5.7

进入容器

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

docker exec -it mysql /bin/bash

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

本地使用连接工具连接

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

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

修改字符集

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

show variables like 'character%';

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

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

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

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

docker run -d -p 3306: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 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql: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的文章就介绍到这了,更多相关docker安装mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker 端口映射详细介绍

    Docker 端口映射详细介绍

    这篇文章主要介绍了Docker 端口映射详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • docker搭建etcd集群方式 bitnami/etcd

    docker搭建etcd集群方式 bitnami/etcd

    这篇文章主要介绍了docker搭建etcd集群方式 bitnami/etcd,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 手动构建自己的docker容器镜像实战

    手动构建自己的docker容器镜像实战

    这篇文章主要介绍了如何手动构建自己的镜像并上传到镜像仓库中,文中有详细的代码实例,需要的朋友可以参考阅读
    2023-04-04
  • Docker部署Microsoft Sql Server详细步骤

    Docker部署Microsoft Sql Server详细步骤

    大家好,本篇文章主要讲的是Docker部署Microsoft Sql Server详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Docker安装Presto连接Hive的详细过程

    Docker安装Presto连接Hive的详细过程

    这篇文章主要介绍了Docker安装Presto连接Hive的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Docker清理命令之如何删除所有的镜像和容器

    Docker清理命令之如何删除所有的镜像和容器

    这篇文章主要介绍了Docker清理命令之如何删除所有的镜像和容器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 详解将本地docker容器迁移到服务端

    详解将本地docker容器迁移到服务端

    这篇文章主要介绍了详解将本地docker容器迁移到服务端,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Docker系列学习之Swarm mode管理节点常用命令详解

    Docker系列学习之Swarm mode管理节点常用命令详解

    这篇文章主要为大家介绍了Docker系列学习之Swarm mode管理节点常用命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 常用的8个应用和中间件的Docker运行示例详解

    常用的8个应用和中间件的Docker运行示例详解

    Portainer是一个轻量级的管理 UI ,可让你轻松管理不同的 Docker 环境(Docker 主机或 Swarm 群集),这篇文章主要介绍了常用的8个应用和中间件的Docker运行示例,需要的朋友可以参考下
    2024-03-03
  • ubuntu如何在docker容器中安装strongswan

    ubuntu如何在docker容器中安装strongswan

    这篇文章主要介绍了ubuntu如何在docker容器中安装strongswan,起动一个ubuntu容器,我是用的docker compose启动的,compose的配置文件为ipsec-strongswan.yml,感兴趣的朋友跟随小编一起看看吧
    2024-04-04

最新评论