Docker运行MySQL相关问题

本文详细介绍了如何使用Docker下载指定版本的MySQL镜像,运行容器并配置UTF8字符集,包括创建本地配置文件挂载到容器、调整字符集参数,以及验证配置正确性的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.docker镜像的下载(本人不使用默认的最新版本)

docker pull mysql:5.7

2.运行容器

docker run -p 3306:3306 --name mysql01 -v /mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

3.创建本地配置文件使其挂载到docker容器中
vim /mysql/conf/my.cnf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

4.进入MySQL容器,登陆MySQL
进入mysql容器

docker exec -it mysql01 /bin/bash

登陆mysql

mysql -u root -p

查看MySQL的字符集:
show variables like’character%’; 看到和下面的图一样改成utf8编码就成功了,不会出现中文乱码了。Docker下载的mysql都是latin1编码。

mysql> show variables like’character%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)

5.大功告成可以远程连接mysql服务器了
注:若代码中连接失败,可以跟换mysql连接驱动包,即使用 稍高版本的

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
### Docker运行 MySQL 的方法 #### 安装并启动 MySQL 镜像 为了在 Docker 中安装并运行 MySQL,需先从官方仓库获取最新版本的 MySQL 镜像。对于特定版本如 8.0 版本: ```bash docker pull mysql:8.0 ``` 确认镜像已成功下载至本地环境可通过 `docker images` 命令来实现[^1]。 #### 创建并配置 MySQL 容器实例 创建一个新的 MySQL 实例时可以指定名称、映射主机端口到容器内部服务监听地址以及设置 root 用户密码等参数。下面的例子展示了如何创建名为 `second-mysql` 的新实例,并将其绑定到宿主机上的 3307 端口,同时设置了简单的根用户密码 '123456': ```bash sudo docker run --name second-mysql \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql ``` 上述命令执行完毕后,可以通过 `docker ps` 查看正在运行中的容器列表及其状态信息,确保新的 MySQL 实例已经正常启动[^3]。 #### 数据持久化与备份恢复操作 当需要保存数据库文件或进行迁移工作时,可利用 `docker cp` 工具将数据导出到外部存储位置;同样也可以用来替换现有容器内的配置文件以调整性能选项或其他行为特性。停止并移除旧版容器前记得做好充分的数据保护措施: ```bash sudo docker cp mysql:/var/lib/mysql ./ sudo docker cp mysql:/etc/mysql/conf.d ./ sudo docker cp mysql:/etc/mysql/mysql.conf.d ./ docker stop mysql docker rm mysql ``` 这些指令会把重要的 MySQL 文件夹拷贝出来以便后续处理,并安全地终止和清理掉不再使用的容器资源[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值