1. 程式人生 > >Docker教程系列四:Docker上部署MySQL並解決中文亂碼問題

Docker教程系列四:Docker上部署MySQL並解決中文亂碼問題

1下載MySQL映象

如果不指定mysql的版本預設下載mysql8,mysql8的變化比較大,所以還是用mysql5.7吧。

docker pull mysql:5.7

 檢視映象:

  docker images

2建立MySQL容器

docker run -p 3306:3306 --name mysql -v mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

-p 代表埠對映,格式為  宿主機對映埠:容器執行埠

-e 代表新增環境變數  MYSQL_ROOT_PASSWORD是root使用者的登陸密碼

修改字MySQL字符集    vim  mysql/conf/my.cnf

新增下面程式碼:

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

3進入MySQL容器,登陸MySQL

進入mysql容器

docker exec -it mysql /bin/bash

登陸mysql

mysql -u root -p

檢視MySQL的字符集:

show variables like'character%';  看到和下面的圖一樣改成utf8編碼就成功了,不會出現中文亂碼了。Docker下載的mysql都是latin1編碼。

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/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

4遠端登陸MySQL

在電腦上用工具連線Docker裡的mysql,和平常的mysql一樣連線(介面和密碼看建立容器時的設定,ip就使用Docker所在Linux的ip就好)。

相關推薦

Docker教程系列Docker部署MySQL解決中文亂碼問題

1下載MySQL映象 如果不指定mysql的版本預設下載mysql8,mysql8的變化比較大,所以還是用mysql5.7吧。 docker pull mysql:5.7  檢視映象:   docker images 2建立MySQL容器

Docker教程系列Docker部署tomcat

order targe borde tab 網站 web 系列 pull true 1下載tomcat鏡像(7-jre8代表tomcat7和java jdk8,tomcat需要java環境,點擊下面連接可以查看可下載的版本) 查看可下載版本 docker pull

Docker教程系列Docker部署Nginx

res host format 系列 ive nec efault bin con 1下載Nginx鏡像 docker pull nginx 2創建Nginx容器 docker run -di --name=nginx -p 80:80 nginx

Docker教程系列Docker部署Redis

客戶 style pull table 客戶端測試 border docker pac idt 1下載Redis鏡像 docker pull redis 2創建Redis容器 docker run -di --name=redis -p 6379:

Docker教程系列Docker鏡像操作

包括 tfs 遠的 osi 其它 ali 存儲 cell 綁定 1什麽是Docker鏡像 Docker鏡像是由文件系統疊加而成(是一種文件的存儲形式)。最底端是一個文件引導系統,即bootfs,這很像典型的Linux/Unix的引導文件系統。Docker用戶幾乎永遠不會和引

Docker教程系列Docker容器操作

主機 linu 指定 font htm start 操作 ipad 重復 1查看容器 l 查看正在運行容器: docker ps l 查看所有的容器(啟動過的歷史容器): docker ps –a l 查看最後一次運行的容器:

Docker教程系列Docker備份與遷移(完)

1容器儲存為映象 我們可以通過以下命令將容器儲存為映象 docker commit nginx mynginx nginx是容器名稱 mynginx是新的映象名稱 此映象的內容就是你當前容器的內容,接下來你可以用此映象再次執行新的容器 2映象備份

docker中配置mysql解決中文亂碼

在docker中配置並使用mysql映象步驟: 1、獲取mysql映象 docker pull mysql 2、載入並執行mysql映象 docker run --name mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456

Docker系列()docker容器互聯

基於Volume的互聯 為什麼需要Volume docker檔案系統是分層的,下面的是全部是隻讀的,最上面的是可寫層,容器中的程序如果修改了某個檔案,比如修改了下層的某個檔案,其實是在最頂層複製下層檔案,進行修改,然後覆蓋原來的檔案,原來的檔案就隱藏了。 執行時的容器是映象疊加

Docker學習筆記Docker容器(container)

fan .com lba docke file 域名 學習 link uno 一:查看容器查看運行容器docker ps查看所有容器docker ps -a二:創建容器docker create <image> ##創建容器 docker start <

EOS系列Ubuntu搭建EOS開發環境(原始碼編譯)

步驟: 1、git下載原始碼 $ git clone https://github.com/EOSIO/eos --recursive 2、 編譯原始碼: 下載完成之後會在home目錄建立eos

《架構系列一鍵部署應用到Tomcat叢集中》

基於前面的《架構系列三:使用Keepalived+Nginx+tomcat實現叢集部署》,我們配置了nginx+Tomcat叢集,如果需要在VM1,VM2各部署6個Tomcat,這時候怎麼將應用部署到叢集中呢,如果手動一個一個的部署,那要部署12次,效率非常底,因此我們迫切需要一鍵自動部

docker學習筆記()docker網路模式及映象格式

開發十年,就只剩下這套架構體系了! >>>   

Docker系列(五)Docker網路機制()

Linux路由機制打通網路 路由機制是效率最好的 docker128上修改Docker0的網路地址,與docker130不衝突 vi /usr/lib/systemd/system/docker.service(修改配置檔案) ExecStart=/usr/bin/docker d

Docker & Kubenetes 系列叢集,擴容,升級,回滾

> 本篇將會講解應用部署到Kubenetes叢集,叢集副本集檢視,叢集自愈能力演示,叢集擴容,滾動升級,以及回滾。 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我們向Kubenetes中部署了單個應用例項。如果單個節點故障了,那麼服務就不可用了,這在實際環境中是不能接受的。在實際的正

Docker系列Docker的介紹和安裝

實驗 start ner min docker-ce 周期 com set 自動化測試 Docker介紹 Docker是指容器化技術,用於支持創建和實驗Linux Container。借助Docker,你可以將容器當做重量輕、模塊化的虛擬機來使用,同時,你還將獲得高度的靈活

docker-compose入門示例一鍵部署 Nginx+Tomcat+Mysql

命令 real 一定的 mes 映射 如果 們的 提前 出現 整體環境配置 整體環境的配置,如果一個一個 Dockerfile 去寫,那麽是相當麻煩的,好在 Docker 有一個名為 Docker-Compose 的工具提供,我們可以使用它一次性完成整體環境的配置: 首先

SpringCloud系列Eureka 服務發現框架(定義 Eureka 服務端、Eureka 服務信息、Eureka 發現管理、Eureka 安全配置、Eureka-HA(高可用) 機制、Eureka 服務打包部署

pac elf figure 傳遞 uri rect body 情況 服務組 1、概念:Eureka 服務發現框架 2、具體內容 對於服務發現框架可以簡單的理解為服務的註冊以及使用操作步驟,例如:在 ZooKeeper 組件,這個組件裏面已經明確的描述了一個服務的註冊以及發

webpack4 系列教程(十)Clean Plugin and Watch Mode

作者按:因為教程所示圖片使用的是 github 倉庫圖片,網速過慢的朋友請移步《webpack4 系列教程(十四):Clean Plugin and Watch Mode》原文地址。更歡迎來我的小站看更多原創內容:godbmw.com,進行“姿勢”交流 ♪(∇*) 0.

Docker學習之使用docker安裝mysql,碰到了一個啟動的坑

Docker學習之四:使用docker安裝mysql,碰到了一個啟動的坑 第一步,從docker中拉取MySQL映象 $ sudo docker pull mysql $ sudo docker images 第二步,建立並啟動一個MySQL容器 $ sudo doc