Docker 修改 MySQL 配置文件后无法启动 MySQL 容器
一、事故回顾
情况是这样的,需要修改数据库配置文件,取消数据库大小写敏感 lower-case-table-names=1
,于是进入到容器修改了mysql.cnf文件,在【mysqld】下添加了如下命令;
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
lower-case-table-names=1 # 新加的
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
然后重启MySQL容器,结果重启失败,报了错误,加错地方了。之所以会这样子是因为你没找对的不是容器里mysql.cnf配置文件。
二、解决方法
# docker inspect [mysql id] # 容器ID
docker inspect 699d
[root@quant mysql]# cd /var/lib/docker/overlay2/7178df4495618dd1086e56268f3e9d47eedce8f65d59ec7d7d5a6aeef29c2914/
[root@quant 7178df4495618dd1086e56268f3e9d47eedce8f65d59ec7d7d5a6aeef29c2914]# ls -l
total 16
drwxr-xr-x 8 root root 4096 Mar 19 2021 diff
-rw-r--r-- 1 root root 26 Mar 19 2021 link
-rw-r--r-- 1 root root 347 Mar 19 2021 lower
drwx------ 3 root root 4096 Nov 15 10:12 work
[root@quant diff]# ls -l
total 40
drwxr-xr-x 5 root root 4096 Nov 15 01:26 etc
drwx------ 2 root root 4096 Nov 15 01:31 root
drwxr-xr-x 3 root root 4096 Mar 12 2021 run
drwxrwxrwt 2 root root 4096 Nov 15 01:26 tmp
drwxr-xr-x 5 root root 4096 Mar 11 2021 usr
drwxr-xr-x 5 root root 4096 Mar 11 2021 var
然后找到MySQL的配置文件进行修改
[root@quant etc]# pwd
/var/lib/docker/overlay2/7178df4495618dd1086e56268f3e9d47eedce8f65d59ec7d7d5a6aeef29c2914/diff/etc
[root@quant etc]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Nov 15 01:26 alternatives
drwxr-xr-x 2 root root 4096 Nov 15 22:55 mysql
drwxr-xr-x 2 root root 4096 Nov 15 01:26 vim
去掉加的那段内容 lower-case-table-names=1
,然后你现在就可以启动你的容器了。
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)