docker mysql56解決不支援中文的問題

2021-09-13 16:02:22 字數 959 閱讀 5620

使用官方的docker啟用mysql56後,在進行漢字操作時,會出現incorrect string value:,原因是由於官方的docker映象,預設採用latin1編碼。本文將闡述如何在官方docker的基礎上,使其支援utf8編碼,進而支援漢字的儲存的。

其實,我們在使用nginxdocker時,自定義的配置檔案也是採用的相同的方式:自定義乙個配置檔案,然後將其掛載到對應預設配置資料夾中。比如mysql的為:/etc/mysql/conf.d/。如果你使用的是baidu,也是可以找到類似的更改配置的文章的,但大多數是告訴我們啟動了容器以後,如何進入容器進行更改的。其實原理是一樣的,都是去定義配置檔案。只是如果我們將配置檔案進行掛載的方式會更加的簡單、靈活、易維護些。

新建custom.cnf配置檔案,並為其增加編碼設定。然後將其掛載到容器的預設配置資料夾中。

[mysqld]

character-set-server = utf8

collation-server = utf8_unicode_ci

skip-character-set-client-handshake

volumes:

- ./custom.cnf:/etc/mysql/conf.d/custom.cnf

最後,強制的重新整理一下配置資訊:刪除原容器,重新建立容器。

docker container ps

docker container rm

docker-compose up -d

解決Docker MySQL無法被宿主機訪問的問題

docker啟動mysql容器後,建立乙個localhost訪問的使用者 create user test localhost identified by test 但是在宿主機中無法通過該使用者登入 在docker中的mysql建立localhost的使用者只能在docker內部訪問,而不能通過外...

56 模板侷限性和解決方法

模板侷限性 模板不能解決所有的型別,比如陣列和結構體之類的自定義型別 如果出現不能解決的型別,可以通過第三地具體化來解決問題 template 返回值 函式名 具體型別 引數 main.cpp 42.模板.cpp 定義控制台應用程式的入口點。define crt secure no warnings...

dedecms5 6專題結點容器無效的解決辦法

最近在使用dedecms5.6時發現,它的專題結點容器模板不能儲存,其實早期的版本也有同樣的問題 仔細看了看原始碼,原來根本沒有啟用,在網上找了一些資料是5.3版的,使用後有些毛病,於是改動了一下,並重新測試通過,貼出來和使用dedecms的朋友們共享 1.修改新增 編輯專題的模板檔案 檔案位於 d...