目录
- 前言
- 步骤 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,并解决涉及非英文字符编码的潜在问题。