网站建设资讯

NEWS

网站建设资讯

K8S配置mysql配置文件不生效问题处理

平台使用Rancher 2.x

成都创新互联是一家集网站建设,柘荣企业网站建设,柘荣品牌网站建设,网站定制,柘荣网站建设报价,网络营销,网络优化,柘荣网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

问题原因是,一个测试用的MySQL需要开启binlog日志,我想着这个不是挺简单的嘛~

于是,配置了一个config,挂载到对应的mysql配置文件下,然后重新部署一下~
然而进容器一看,配置文件是挂载上了,可是配置却未生效。。

具体如下:

1、因为使用Rancher平台,所以配置及挂载这一步是在web端进行的(祸根。)。

即添加一个configmap,覆盖掉原配置文件:

#开启binlog日志的配置文件~

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
#By default we only accept connections from localhost
#bind-address = 127.0.0.1
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=/var/lib/mysql/mysql-bin
server-id=1

挂载到mysql的/etc/mysql/mysql.conf.d/下,覆盖掉mysqld.cnf

2、然鹅并没生效,配置文件确实挂载了,有点怀疑人生...
3、于是修改其他配置,修改其他配置查看是不是binlog配置问题(怀疑人生。)
即随便修改了下datadir的路径:

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /home/mysql
#log-error = /var/log/mysql/error.log
#By default we only accept connections from localhost
#bind-address = 127.0.0.1
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=/var/lib/mysql/mysql-bin
server-id=1

4、然后发现配置文件依然挂载了,这个也没生效!!!
5、查看yaml文件,如下:

 - configMap:
          defaultMode: 292
          name: mysql-config
          optional: false
        name: vol1

查看configMap的defaultMode:
kubectl explain deployment.spec.template.spec.volumes.configmag

defaultMode
Optional: mode bits to use on created files by default. Must be a value
between 0 and 0777. Defaults to 0644. Directories within the path are not
affected by this setting. This might be in conflict with other options that
affect the file mode, like fsGroup, and the result can be other mode bits
set.

6、对照查看,发现Rancher默认模式为400,修改成644后,重新部署~可以了!

之前nginx的配置使用默认模式400可以生效,mysql的配置文件并不可以~


网站名称:K8S配置mysql配置文件不生效问题处理
分享网址:http://cdweb.net/article/jddccp.html