问题:mysql容器如法停止,无法删除,也无法连接。docker stop,docker kill等命令都无效。
处理办法:
1.停止所有的容器
docker stop 容器Id
2.强制移除此容器
docker rm -f 容器id
3.清理此容器的网络占用
格式:docker network disconnect --force 网络模式 容器名称
示例:docker network disconnect --force bridge 容器名
4.简查是否还有同名容器占用
格式:docker network inspect 网络模式
示例:docker network inspect bridge
5.重新构建容器
示例1
docker run --name mysql --restart=always \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/data:/var/lib/mysql \
-p 3317:3306 \
-e MYSQL_ROOT_PASSWORD="root" \
-e TZ=Asia/Shanghai \
示例2
docker run --name mysql
-v /data/mysql-data:/var/lib/mysql
-p 33306:3306
-e MYSQL_ROOT_PASSWORD=guest-root
mysql:latest
启动报错:
Different lower_case_table_names settings for server ('0') and data dictiona
原因
mysql8.x版本修改区分的大小写的配置
解决方法
1、在my.cnf配置文件[mysqld]下添加
[mysqld]
lower_case_table_names=1
2、docker启动mysql修改配置 添加 --lower-case-table-names=1 :
docker run --name mysql --restart=always \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/data:/var/lib/mysql \
-p 3317:3306 \
-e MYSQL_ROOT_PASSWORD="root" \
-e TZ=Asia/Shanghai \
-d mysql:8.0 --lower-case-table-names=1