avatar

瓜生花子八宝粥

少壮不努力 老了看浏览器

  • 首页
  • 开源项目
  • Linux
  • Windows
  • Docker
  • 中间件
  • 数据库
主页 Docker 安装 MySQL 8
文章

Docker 安装 MySQL 8

发表于 2024-12-2 更新于 2024-12- 2
作者 jepwei
10~13 分钟 阅读

:

Docker 中安装 MySQL 8.0

1. 创建 MySQL 8.0 目录

在 Docker 包下创建一个名为 mysql8.0 的目录:

mkdir mysql8.0

2. 创建配置目录(可选)

在 mysql8.0 目录中创建配置目录:

mkdir config
cd config/

2.1 编辑 MySQL 配置文件

使用 vim 创建并编辑 my.cnf 文件:

vim my.cnf

将以下内容粘贴到 my.cnf 中:

[client]
# 端口号
port=3306

[mysql]
no-beep
default-character-set=utf8mb4

[mysqld]
# 端口号
port=3306
# 数据目录
datadir=/var/lib/mysql
# 新模式或表时将使用的默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 将 SQL 模式设置为严格
sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
# 最大连接数
max_connections=1024
# 表缓存
table_open_cache=2000
# 表内存
tmp_table_size=16M
# 线程缓存
thread_cache_size=10
# 设置大小写不敏感
lower_case_table_names=1

# MyISAM 设置
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=8M
read_buffer_size=0
read_rnd_buffer_size=0

# InnoDB 设置
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_instances=8
innodb_log_file_size=48M
innodb_parallel_read_threads=33
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0

# 其他设置
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000

注意:MySQL 5.7 版本中的某些配置在 MySQL 8.0 版本中已被弃用,因此需要将这些被废弃的配置替换为新的配置,以避免数据丢失。

3. 编写启动脚本

返回上级目录并创建启动脚本 startMysql.sh:

cd ..
vim startMysql.sh

在脚本中输入以下内容:

docker run -d \
--privileged=true \
--name mysql8.0 \
-p 3306:3306 \
--restart=always \
-v /usr/local/docker/mysql8.0/data:/var/lib/mysql \
-v /usr/local/docker/mysql8.0/config/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=root mysql:8.0

3.1 启动脚本解释

  • -d:后台运行容器

  • --privileged=true:给予容器额外的权限

  • --name mysql8.0:指定容器名称

  • -p 3306:3306:映射端口

  • --restart=always:容器崩溃后自动重启

  • -v:挂载数据和配置目录

  • -e MYSQL_ROOT_PASSWORD=root:设置 MySQL root 用户密码

4. 赋予启动脚本权限

为启动脚本赋予执行权限:

chmod -R 777 startMysql.sh

5. 启动 MySQL

运行启动脚本以启动 MySQL:

./startMysql.sh

6. 测试 MySQL 是否正常运行

6.1 进入容器内部

使用以下命令进入 MySQL 容器:

docker exec -it mysql8 bash

6.2 进行 MySQL 交互式连接

使用以下命令连接到 MySQL:

mysql -uroot -p1234

6.3 查看 MySQL 配置的字符编码

执行以下命令查看字符编码设置:

SHOW VARIABLES LIKE 'character%';

6.4 验证安装成功

如果输出结果符合预期,则表示安装成功。

MySQL 配置结果

通过以上步骤,您已成功在 Docker 中安装并配置 MySQL 8.0。

数据库
mysql
许可协议: 
分享

相关文章

1月 15, 2025

容器部署mysql

1. 创建容器并进行持久化处理 # 拉取镜像 docker pull mysql:8.0.20 # 启动镜像,用于拷贝配置文件到宿主机 docker run -p 13306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.

1月 15, 2025

人大金仓数据库部署

为确保金仓数据库管理系统 KingbaseES 的成功安装,用户需创建专用的 kingbase 用户并为其配置适当的权限。安装前需准备目录、上传安装包与授权文件。运用控制台模式安装时,用户需选择安装集与目录,设定数据库参数及字符集,最后确认安装。安装成功后,通过指定命令确认版本与服务状态,可以有效启动与停止数据库服务,确保系统稳定运行。

12月 20, 2024

容器部署高斯gauss数据库

本指南详细介绍了如何使用Docker部署OpenGauss数据库,包括安装前提、镜像拉取、容器运行和验证安装等步骤。首先确保Docker服务正在运行,然后使用特定命令拉取OpenGauss镜像并启动容器。配置参数包括容器名称、权限、端口映射及数据库密码。成功启动后,可通过命令检查容器状态。此外,还包括远程连接的配置方法及注意事项,确保在生产环境下的安全性和数据备份。

下一篇

容器离线安装

上一篇

Docker 部署全新 Oracle 11g(简化版)

最近更新

  • 1panel 部署
  • jumpserver 堡垒机部署
  • ubuntu 设置时间显示为24小时制
  • pritunl vpn 部署
  • dockovpn 部署

热门标签

nacos openvpnas 资源分享 docker oracle mysql ubuntu 开源项目 虚拟化 Linux

目录

©2025 瓜生花子八宝粥. 保留部分权利。

使用 Halo 主题 Chirpy