目錄
- 前言
- 步驟 1:拉取 MySQL 鏡像
- 步驟 2:運行 MySQL 容器
- 步驟 3:檢查容器狀態
- 步驟 4:進入 MySQL 容器
- 步驟 5:配置 MySQL 字符編碼
- 步驟 6:重啟 MySQL 容器
- 步驟 7:測試字符編碼
- 步驟 8:使用外部工具驗證
前言
MySQL 是一款廣泛應用于各種應用程序的流行開源關系型數據庫管理系統。Docker 提供了便捷的容器化方式來安裝和管理 MySQL。本指南將帶您逐步完成使用 Docker 設置 MySQL 的過程,并解決涉及非英文字符編碼的潛在問題,以及各種報錯的解決。
在開始之前,請確保您的機器上已安裝 Docker。
步驟 1:拉取 MySQL 鏡像
首先,從 Docker Hub 拉取 MySQL 5.7 鏡像:
docker pull mysql:5.7
該命令從官方 Docker 倉庫獲取 MySQL 5.7 鏡像。
步驟 2:運行 MySQL 容器
使用以下命令運行 MySQL 容器:
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
各參數解釋:
-d
:以分離模式運行容器。-p 3306:3306
:將容器的 3306 端口映射到主機的 3306 端口,以便訪問 MySQL。--name mysql
:為容器分配名稱“mysql”,以便更輕松地管理。-e MYSQL_ROOT_PASSWORD=123456
:將 MySQL root 用戶密碼設置為“123456”。
步驟 3:檢查容器狀態
使用以下命令驗證 MySQL 容器是否正在運行:
docker ps
此命令將顯示活動容器的列表,包括 MySQL 容器。
步驟 4:進入 MySQL 容器
通過以下命令訪問 MySQL 容器的終端:
docker exec -it mysql /bin/bash
此命令允許您與 MySQL 容器的 shell 進行交互。
步驟 5:配置 MySQL 字符編碼
默認情況下,MySQL 對于非英文字符可能存在字符編碼問題。為解決此問題,為 MySQL 創建一個配置文件。
cd /etc/mysql/conf.d
vim my.cnf
編輯 my.cnf
文件,添加以下配置:
[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
這些配置將字符集設置為 utf8mb4
,以正確處理非英文字符。
步驟 6:重啟 MySQL 容器
重新啟動 MySQL 容器以應用新的配置更改:
docker restart mysql
步驟 7:測試字符編碼
在 MySQL 容器內部,登錄到 MySQL shell:
mysql -uroot -p
創建一個數據庫、表并插入包含非英文字符的數據:
create database db01;
use db01;
create table t1(id int, name varchar(20));
insert into t1 values(1, "你好世界");
select * from t1;
這將測試 MySQL 對非英文字符的處理情況。
步驟 8:使用外部工具驗證
使用 Navicat 等外部工具連接到 MySQL,驗證非英文字符的插入情況,確保正確處理并且沒有字符編碼問題。
通過按照這些步驟,您可以使用 Docker 設置 MySQL,并解決涉及非英文字符編碼的潛在問題。