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

docker-mysql的几个问题

来水一篇文章

文章目录

  • 问题一:
  • 问题2:

问题一:

在Navicat上执行大脚本mysql的sql文件时,出现插入数据报错的问题,查了一下innodb_log_file_size参数show variables like 'innodb_log_file_size';只有50331648即48M,所以在my.cnf配置文件(自定义的文件)中更改了此参数大小,由于没设置,这里直接写入

echo -e "[mysqld]\ninnodb_log_file_size=500M" >> my.cnf

重启mysql镜像,使配置生效,重新使用Navicat执行脚本,依旧报错。

应该是某些设置问题,直接尝试了命令行执行sql脚本。

source tsql.sql

解决。

执行之前,需要将windows中的SQL文件导入debian中,由于/mnt/目录用于挂载 Windows 系统中的磁盘和分区,所以通过该目录访问windows磁盘使用cp或者mv命令就可以实现文件复制到debian中。执行完SQL删掉脚本文件,除了占内存也没什么用了。

注:这里我用的wsl系统

问题2:

Different lower_case_table_names settings for server ('1') and data dictionary ('0').

mysql8默认不识别大小写,使用命令show variables like %case%;查看到变量默认为0,但是我在my.cnf文件设置了lower_case_table_names=1导致的,
在这里插入图片描述
在大多数情况下,这需要在第一次启动MySQL服务器之前在MySQL选项文件中配置lower_case_table_names。

于是,修改容器启动配置后指定--lower-case-table-names=1

sudo docker run -d --name mysql -p 3306:3306 \
--restart unless-stopped \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql \
--lower-case-table-names=1

由于挂载过一次目录,所以将之前的挂载目录/data删掉,需要备份提前移动文件,或者挂载新目录,重新执行上面命令,my.cnf文件保持之前的lower-case-table-names=1配置即可。


http://www.kler.cn/news/18001.html

相关文章:

  • 学习HCIP的day.04
  • 【383. 赎金信】
  • 从零开始学习Linux运维,成为IT领域翘楚(十)
  • 【刷题】142. 环形链表 II
  • maven配置阿里云镜像仓库
  • 关于C语言的一些笔记
  • 算法:递归启蒙-汉诺塔
  • ChatGPT使用入门
  • 计算机网络基础知识(一)计算机发展史、网络设备、网络结构及拓扑
  • 设计模式:SOLID原则
  • 2022级吉林大学面向对象第三次上机测试
  • 总结841
  • SSM框架学习-bean生命周期理解
  • new BroadcastChannel(),BroadcastChannel API使用介绍
  • 这就是实力~ 腾讯云大咖亲码 “redis深度笔记” 无废话全精华
  • 洗稿伪原创工具-洗稿生成器
  • SSM框架详解,实现高效优雅的Java Web开发
  • 【前端面经】CSS-浮动和清除浮动的方式
  • ePWM模块-时基模块(2)
  • Postgresql+Springboot yml基本使用
  • 通用操作日志处理方案
  • Vue如何使用富文本编辑器
  • PyTorch数据加载工具:高效处理常见数据集的利器
  • lombok常用的注解及使用方法
  • 实现前后端分离的登陆验证token思路
  • SpringBoot【开发实用篇】---- 配置高级
  • uniapp和小程序如何分包,详细步骤手把手(图解)
  • Java ——线程池
  • GitHub上的AutoGPT神秘的面纱
  • 100种思维模型之蝴蝶效应思维模型-56