Docker 安装和配置 MySQL 8.0.36 的详细步骤
1. 拉取 MySQL 8.0.36 镜像
docker pull mysql:8.0.36
2. 创建宿主机目录
为数据、配置文件和初始化脚本创建宿主机目录:
mkdir -p /home/sdb1/mysql8/{data,conf,init}
data
:用于持久化 MySQL 数据。conf
:存放自定义的my.cnf
配置文件。init
:存放初始化 SQL 脚本(可选)。
3. 编写 my.cnf
配置文件
在 /home/sdb1/mysql8/conf/my.cnf
中添加以下内容:
[mysqld]
# 设置时区为 UTC+8
default_time_zone = '+8:00'
# 忽略表名大小写
lower_case_table_names = 1
# 字符集配置
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 默认存储引擎
default_storage_engine = InnoDB
# 最大连接数
max_connections = 1000
# InnoDB 缓冲池大小(根据服务器内存调整)
innodb_buffer_pool_size = 1G
4. 运行 MySQL 容器
使用以下命令启动容器:
docker run -d \--name mysql8 \ # 容器名称--privileged=true \ # 赋予容器权限--restart=always \ # 自动重启-p 3318:3318 \ # 端口映射(宿主机:容器)-v /home/sdb1/mysql8/data:/var/lib/mysql \ # 数据目录挂载-v /home/sdb1/mysql8/conf/my.cnf:/etc/mysql/my.cnf \ # 配置文件挂载-v /home/sdb1/mysql8/init:/docker-entrypoint-initdb.d \ # 初始化脚本目录-e MYSQL_ROOT_PASSWORD=YourStrongPassword \ # 设置 root 密码-e TZ=Asia/Shanghai \ # 设置时区mysql:8.0.36
5. 进入容器调试
如果需要进入容器内部操作:
docker exec -it mysql8 bash
# 登录 MySQL
mysql -u root -pYourStrongPassword
6. 外部连接 MySQL
使用 MySQL 客户端或工具(如 MySQL Workbench)连接:
- 主机地址:
127.0.0.1
(本地)或 Docker 主机 IP。 - 端口:port
- 用户名:
root
- 密码:
YourStrongPassword