起因是修改max_allowed_packet 参数
show VARIABLES like '%max_allowed_packet%';
进入容器
使用 SET GLOBAL max_allowed_packet=67108864 之后
再重新进入查询
show VARIABLES like '%max_allowed_packet%';
即可发现修改成功
但这种方法会重启mysql会导致失效
删除容器启动后发现这个参数变成了0
lower_case_table_names=1
下面是更改方法
docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=111111-e MYSQL_ROOT_USER=root -d \
-v /mydata/mysql8032/log:/logs \
-v /mydata/mysqlnew/data:/var/lib/mysql \
-v /mydata/mysql8032/conf:/etc/mysql/mysql.conf.d \
-p 0.0.0.0:3306:3306 -p 0.0.0.0:33060:33060 \
mysql:8.0.32 --lower_case_table_names=1
注意
docker启动时-lower_case_table_names=1
参数应该放在 mysql:8.0.32
之后,并且在 Docker 命令中使用双破折号 --
来指示这是传递给 MySQL 服务器而不是 Docker 的参数。
如果不是第一次装,需要卸载掉原有的mysql,
-v /home/mysql/data:/var/lib/mysql 这里指定一个新的,干净的数据仓库。
全新指的是是所有层级都需要创建一个新的,不能在原本的mysql文件夹下直接创建data,会导致失败
可以创建出新的 mysqlnew/data 再进行挂载即可成功