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.pswp.cn/news/534256.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534256.shtml
英文地址,請注明出處:http://en.pswp.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),此時就會產生一個問題,當我們的舊數據庫中包含一些測試數據時,當持久化更新后,…