栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker 安装mysql 解决中文乱码,数据持久化进入本地

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 安装mysql 解决中文乱码,数据持久化进入本地

目录

一:简单版的(没有持久化,有乱码,直接run 的容器实例)

  1.拉取镜像到本地

  2.安装运行简单版

      2.1.验证使用,建库建表插入数据

      2.2外部Win10也来连接运行在dokcer上的mysql容器实例服务​

 3.出现问题 (插入中文,删除容器后,里面的mysql数据如何办)

 二:实战版 ,解决中文字符,持久化(平时安装使用)

 1.新建mysql容器实例 (搭载容器卷)

2.新建my.cnf

 3.重新启动mysql容器实例再重新进入并查看字符编码

4. 再新建库新建表再插入中文测

 三:结论


一:简单版的(没有持久化,有乱码,直接run 的容器实例)

  1.拉取镜像到本地

           docker pull mysql:5.7

  2.安装运行简单版

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker ps
docker exec -it 容器ID /bin/bash
mysql -uroot -p 

  1.验证使用,建库建表插入数据

 外部Win10也来连接运行在dokcer上的mysql容器实例服务

 3.出现问题 (插入中文,删除容器后,里面的mysql数据如何办)
  •    docker上默认字符集编码隐患
  •    容器实例一删除,你还有什么?删容器到跑路。。。。。?

 二:实战版 ,解决中文字符,持久化(平时安装使用)

 1.新建mysql容器实例 (搭载容器卷)

docker run -d -p 3306:3306 --privileged=true 
-v /mytest-docker/mysql/log:/var/log/mysql
-v /mytest-docker/mysql/data:/var/lib/mysql           
-v /mytest-docker/mysql/conf:/etc/mysql/conf.d        
 -e MYSQL_ROOT_PASSWORD=wzf001115  --name mysql mysql:5.7

//mytest-docker/mysql/log   本地的目录  /var/log/mysql 容器中的mysql

2.新建my.cnf

  进入配置conf  /mytest-docker/mysql/conf  通过容器卷同步给mysql容器实例   添加内容

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

 3.重新启动mysql容器实例再重新进入并查看字符编码

 

4. 再新建库新建表再插入中文测试

 

 

 三:结论

改字符集操作+重启mysql容器实例 之后的DB  有效,需要新建 
结论:docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据
 
假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?

  有;本地的实例化导入

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837163.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号