当前位置: 首页 > web >正文

docker中的mysql有中文显示问题跟大小写区分问题?

华侨大学部署任务记录:

先查看mysql 在docker中的映射路径

用docker inspect prod-mysql

推荐方案:在 conf.d/ 目录中创建配置文件

bash

# 进入配置目录
cd /data/docker-data/mysql/conf# 在 conf.d 目录中创建自定义配置文件
cat << EOF > conf.d/custom.cnf
[mysqld]
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4
EOF

或者:在 mysql.conf.d/ 目录中创建

bash

# 在 mysql.conf.d 目录中创建配置文件
cat << EOF > mysql.conf.d/mysql.cnf
[mysqld]
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4
EOF

查看现有的配置文件内容(推荐先检查)

bash

# 查看 conf.d 目录中是否有现有配置
ls -la conf.d/# 查看 mysql.conf.d 目录中的文件
ls -la mysql.conf.d/# 如果有现有文件,先查看内容
cat conf.d/*.cnf 2>/dev/null
cat mysql.conf.d/*.cnf 2>/dev/null

重启 MySQL 容器

bash

# 重启容器使配置生效
docker restart your_mysql_container_name# 查看日志确认没有错误
docker logs your_mysql_container_name

验证配置是否加载

bash

# 进入容器查看配置文件
docker exec -it your_mysql_container_name bash
ls -la /etc/mysql/conf.d/
ls -la /etc/mysql/mysql.conf.d/# 登录 MySQL 验证设置
mysql -u root -p -e "SHOW VARIABLES LIKE 'lower_case_table_names';"
mysql -u root -p -e "SHOW VARIABLES LIKE 'character_set%';"

如果遇到配置冲突

如果两个目录都有配置文件,MySQL 会按字母顺序加载。建议:

  1. 统一使用一个目录(推荐 conf.d

  2. 检查现有配置避免冲突

  3. 文件名按字母顺序,如 z-custom.cnf 确保最后加载

创建配置文件的完整步骤

bash

# 1. 进入配置目录
cd /data/docker-data/mysql/conf# 2. 在 conf.d 中创建配置文件(推荐)
echo '[mysqld]
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4' > conf.d/custom.cnf# 3. 查看创建的文件
cat conf.d/custom.cnf# 4. 重启容器
docker restart your_mysql_container_name# 5. 验证配置
docker exec your_mysql_container_name mysql -u root -p -e "SHOW VARIABLES LIKE 'lower_case_table_names';"

重要提醒 ⚠️

如果 MySQL 容器中已有数据,修改 lower_case_table_names 需要:

  1. 备份数据

  2. 清空数据目录 (/data/docker-data/mysql/data)

  3. 重新初始化

否则可能会出现表名识别问题。

选择在 conf.d/ 目录中创建配置文件是最安全的方式,因为这是 MySQL 的标准配置目录。

http://www.xdnf.cn/news/19255.html

相关文章:

  • erpc框架流程学习1
  • 玄机靶场 | 冰蝎3.0-jsp流量分析
  • RAG教程5:多表示索引和ColBERT
  • 高精度三维扫描仪三维扫描测量扇叶叶轮尺寸-中科米堆CASAIM
  • pcl封装6 connection_cloud 提取聚簇后的每个点云
  • 为什么外贸企业管理需要外贸CRM系统
  • 如何将OFD文件转换为PDF?总结在线OFD转PDF方法
  • ArcGIS Pro中 Nodata和nan 黑边的处理
  • Azure Marketplace 和 Microsoft AppSource的区别
  • 【论文简读】MuGS
  • 《开发避坑指南:从异常中读懂系统的“求救信号”》
  • 基于脚手架微服务的视频点播系统界面布局部分(一):首页及播放界面布局
  • Windows Command Line Windows 命令行
  • 鸿蒙Next导航与路由指南:组件导航与页面路由的完美协作
  • 导入自定义模块的过程中出现ModuleNotFoundError错误
  • 新手法务合同审查,有什么建议?
  • 构建稳定和可扩展云基础设施的首选服务:AWS的EC2实例
  • 前端工程化深度实践:从构建优化到CI/CD的完整解决方案
  • vue3跨层级传递数据,比如:祖->孙
  • JS循环方法
  • kimi浏览器助手-月之暗面推出的智能浏览器扩展
  • 晨控CK-FR102ANS与欧姆龙NX系列PLC配置EtherNet/IP通讯连接手册
  • 过滤器和拦截器的区别?
  • 数据结构(C语言篇):(六)单链表算法题(下)
  • LinuxC语言系统开发——网络编程
  • 英文版在线客服系统支持海外客户的实时聊天解决方案
  • 透视文件IO:从C库函数的‘表象’到系统调用的‘本质’
  • PS的基础操作与图片常用知识
  • 【LeetCode 热题 100】62. 不同路径——(解法二)递推
  • 国务院提出“人工智能+”行动,容智智能体引领产业变革发展