今天在使用docker中的mysql的時候發現從windows中的mysql導出的sql語句進入到docker中mysql的時候就出現問題了,然後找原因,發現是大小寫敏感的事情,在網上找解決方案,在docker中修改文件的方式vi指令沒有,scp拷出文件的方式也沒有,更新源apt-get也不好用,最後一狠心把docker鏡像給刪除了,重新裝了一下docker的鏡像,安裝的時候命令如下
docker run --name mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1
關鍵是最後的--lower_case_table_names=1起了作用,重新導入了一下sql文件,問題解決!
添加一下問題,今天同事用mysql的時候出現如下錯誤:
Caused by: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,128 > 1,024). You can change this value on the server by setting the 'max_allowed_packet' variable.
show variables like 'max_allowed_packet'; 看一下mysql當前的值
set max_allowed_packet = 100 * 1024 * 1024; 修改一下mysql的最大值
我這裏用的是docker的環境,所以
docker stop 'mysql的dockerId或名字'
docker start 'mysql的dockerId或名字'
然後再次查看已經修改!