1. 下载 MySQL 镜像
在 Docker 中启动 MySQL 之前,需要首先从 Docker Hub 下载 MySQL 镜像。根据需要选择相应版本,并使用以下命令进行下载:
docker pull mysql:8.0.28
2. 启动 MySQL 容器
下载完成 MySQL 镜像后,需要使用 docker run
命令启动 MySQL 容器,并进行相应配置。以下是常用的启动配置参数:
-d
:以后台进程方式运行容器;-p
:指定端口映射;-v
:挂载数据卷;--name
:指定容器名称;-e
:设置环境变量。
挂载数据卷是为了在启动容器时将本地文件夹与容器内的文件夹进行映射,以便在容器内部读写宿主机上的数据。以下是启动 MySQL 容器的示例命令:
docker run -d -p 3306:3306
--privileged=true
-v /usr/local/mysql/log:/var/log/mysql
-v /usr/local/mysql/data:/var/lib/mysql
-v /usr/local/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name=mysql mysql:8.0.28
在上述示例命令中,启动容器时使用了以下配置参数:
-d
:以后台进程方式运行容器;-p 3306:3306
:将主机的 3306 端口映射到容器内部的 3306 端口;--privileged=true
:开启特权模式,提高容器对主机资源的访问权限;-v
:将主机上的目录挂载到容器内的相应目录。/usr/local/mysql/log
目录挂载到容器内的/var/log/mysql
目录,/usr/local/mysql/data
目录挂载到容器内的/var/lib/mysql
目录,/usr/local/mysql/conf
目录挂载到容器内的/etc/mysql/conf.d
目录;-e MYSQL_ROOT_PASSWORD=123456
:设置 MySQL 数据库的 root 用户的密码为123456
;--name=mysql
:指定容器名称为mysql
;mysql:8.0.28
:选择 MySQL 8.0.28 版本的镜像。
如果需要对 MySQL 进行更多配置,还可以使用其他环境变量来完成,例如 MYSQL_DATABASE
、MYSQL_USER
、MYSQL_PASSWORD
等等。
3. 进入conf目录配置字符集
cd /usr/local/mysql/conf
vim my.conf
在 my.conf
中编辑如下配置:
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
4. 进入 MySQL 容器
重启 MySQL 容器后,可以使用以下命令进入容器:
docker restart mysql
docker exec -it mysql bash