dokcer mysql修改编码_默认支持utf8编码的mysql docker镜像

其他人都是不正确的

使用mysql容器镜像可以很快速的运行mysql,免去了传统的虚拟机安装方式的繁琐配置。但是使用官方的mysql镜像,你会遇到中文乱码的问题,原因是官方镜像的字符集默认值不是utf8。这时候你去google,会找到一些文章,如这个哥们的,但是你按照他的做法,还是会乱码,这时候你进入mysql查看字符集,发现是这样的:

show variables like "%character%";

+--------------------------+----------------------------------+

| Variable_name | Value |

+--------------------------+----------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysqlarsets/ |

+--------------------------+----------------------------------+

8 rows in set (0.00 sec)

这里才是正确的

好吧,我费了不少力气,才找到正确方法。

首先查看官方镜像说明,有关于utf8设置的参数:

Many configuration options can be passed as flags to mysqld. This will give you the flexibility to customize the container without needing a cnf file. For example, if you want to change the default encoding and collation for all tables to use UTF-8 (utf8mb4) just run the following:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

如果只是设置这两个参数是不够的,你会得到这样的配置:

mysql> show variables like "%character%";

+--------------------------+----------------------------------+

| Variable_name | Value |

+--------------------------+----------------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql/share/charsets/ |

+--------------------------+----------------------------------+

8 rows in set (0.00 sec)

你会发现上面那个哥们的与官方的这个指导取并集,就是正确的结果了,所以方法就很简单了。查看dockerfile。正确的配置:

mysql> show variables like "%character%";

+--------------------------+----------------------------------+

| Variable_name | Value |

+--------------------------+----------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql/share/charsets/ |

+--------------------------+----------------------------------+

8 rows in set (0.01 sec)

本文链接:http://www.yunweipai.com/23323.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql临时表 清空_在数据库中临时表什么时候会被清除呢

展开全部我们仍使用 实验 05 中的环境,略去准备数据的过程。我们仍然使用两个会话,62616964757a686964616fe59b9ee7ad9431333433646439一个会话 run,用于运行主 SQL;另一个会话 ps,用于进行 performance_schema 的观察…

locust mysql_locust性能压测连接mysql,随机取出班级,绑定学生

from locust import HttpLocust, TaskSet, taskimport pymysqlimport randomclass UserBehavior(TaskSet):def on_start(self):db pymysql.connect("ip地址", "用户名", "密码", "数据库")cursor db.cursor()cursor.execute("S…

mysql无法添加或更新子行_违反完整性约束:1452无法添加或更新子行:

我试图在我的注释表中插入值,但出现错误。俗话说,我不能添加或更新子行,我也不知道这意味着什么。我的架构看起来像这样-- ------------------------------ Table structure for comments-- ----------------------------DROP TABLE IF EXIST…

python医学图像分割_基于cv2的医学图像分割

例如,图像如下所示:import cv2import numpy as npimg cv2.imread("mdb168.pgm",0)import matplotlib.pyplot as pltplt.imshow(img, cmap"gray")我想删除图像中所有的伪影和不必要的部分。在为此,我首先对图像进行二值化…

python解析response的json_从HTML responseTex解析JSON

因此,我大体上同意,更好的解决方案是确保服务器只返回JSON,不过这是通过客户端Javascript实现的一种快速方法,如Barmer所建议的那样,将html解析到DOM,获取body中的文本childNode并在其上运行JSONParse。在v…

mysql 密码修改时间_Mysql修改密码的方法

修改mysql密码的方法:最简单的,在Navicat连接后点用户,找到rootlocalhost直接修改。注意如果装了xampp,在phpmyadmin配置文件也需要改两处密码。下面是在命令行修改的方法。方法1:用mysqladmin----------------亲测这个…

svn版本库浏览器_在SVN版本库浏览器中直接编辑文件保存后不会弹..._网络编辑_帮考网...

原因是没有实际添加到版本库中,要添加到版本库必须执行“Commit”。具体分析如下:SVN错误处理svn : Couldn’t perform atomic initialization. 临时解决办法:升级sqlite。原本安装的是 subversion 1.6.16 sqlite 3.6.13,一直报”…

ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...

本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:why拿到一个人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戏加载图片效率,且比较好管理。目前得…

世上最简单的mysql_mysql这样学最简单|基本操作上

这是数据库系列的第一篇文章,主要是对mysql的基本操作有一个了解。本系列的教程会先从基础出发,逐步过渡到优化。一、前提在这里我们不会从如何去安装数据库开始讲起,而是在安装完之后从操作数据库开始,文中所有的代码均在我自己的…

django ipython shell_django shell ipython 模型层优化(关联对象) 懒加载和预加载 +长链接...

懒加载存在于外键和多对多关系不检索关联对象的数据调用关联对象会再次查询数据库问题根源查看django orm的数据加载,两次. 查询user,查询menu第一次查询 用户表 第二次查询 app表cmd:python manage.py shell #进入shell调试 或者ipythonfrom authorization.models import Use…

zabbix4.0添加mysql报警_Zabbix4.0系统告警“Zabbix server is not running”

第一步: 查看系统日志,进一步确认原因1 cat /var/log/zabbix/zabbix_server.log问题出现在数据库。第二步 数据库确认1 mysql -u root -p #root用户登陆数据库如果登录不成功,就看一下登录密码是否正确以及zabbix用户是否有权限登录数据库。1…

影响索引的mysql函数_mysql索引对排序的影响实例分析

本文实例讲述了mysql索引对排序的影响。分享给大家供大家参考,具体如下:索引不仅能提高查询速度,还可以添加排序速度,如果order by 后面的语句用到了索引,那么将会提高排序的速度。测试1、创建测试表:t15表…

php如何对 mysql 中text类型拆分存入一个数组_PHP递归实现无限级分类,可选返回字符串和数组...

正 文:在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。递归,简单的说就是一段程序代码的重复调…

python 开发框架 ant_Golang/python语言开发的分布式游戏服务器框架 mqant

软件介绍mqantmqant 是一款基于 Golang 语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性的游戏服务器框架,也希望 mqant 未来能够做即时通讯和物联网方…

java w3c xml_org.w3c.dom(java dom)解析XML文档

首先来了解点Java DOM 的 API:1.解析器工厂类:DocumentBuilderFactory创建的方法:DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();2.解析器:DocumentBuilder创建方法:通过解析器工厂类来获得 DocumentBuilder…

java中小数点位数_Java中限制小数位数问题

在Java中限制小数位数的方法不止一种,下面我们以限制两位小数为例来说明几种限制小数位数的方法,其他位数可以以此类推方式一:四舍五入double f 111231.5585;BigDecimal b new BigDecimal(f);double f1 b.setScale(2,…

orange pi java_[中文]Orange Pi家族各大成员一览表

全部复制来自官网,只修改了错别字和优化了排版。Orange Pi Zero香橙派Zero是一款开源的单板电脑,新一代的arm开发板,它可以运行Android4.4、Ubuntu、Debian等操作系统。香橙派Zero使用全志H2系统级芯片,同时拥有256MB/512MB DDR3 内存(256MB为…

java 微服务源码_基于Java的微服务架构源码案例Abixen

微服务越来越受欢迎,每个月都有更多的库包和解决方案来支持微服务的开发测试,很多Java开发人员虽然听说过微服务,但是真正采用还是有犹豫的:“我知道,微服务是非常棒的,微服务器更容易维护和进一步开发&…

rocketmq java例子_SpringBoot和RocketMQ的简单实例

1,引用jar包build.gradle文件添加jar包引用compile group: org.apache.rocketmq, name: rocketmq-spring-boot-starter, version: 2.1.12,配置文件application.properties 配置文件spring.application.nameapp-dempserver.port8081###rocketmq###rocketm…

mysql migrations_Code First Migrations更新数据库结构(数据迁移)

背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的旧数据库中包含一些测试数据时,当持久化更新后,…