标签:
背景:
环境注意:在用rancher搭建的k8s里,mysql是起了一个pod,镜像是网上的mysql:5.7
开发人员提出了一个报错“查询时的ONLY_FULL_GROUP_BY错误”,让我改sql_mode,当时我觉得这很好改,将数据库的配置文件添加一条sql_mode,重启数据库就行了。
但是,我起初通过rancher进入到mysql容器里面,执行命令 mysql -uroot -p密码 -e "set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';" 或者是进到mysql里面执行命令或者写到配置文件里重启mysql,会出现一些问题:设置只针对新建的数据,旧的数据还是不起作用;设置只针对这次运行中的容器,下次重启更新pod,配置都会失效;写入配置文件再重启或重载mysql会出现整个pod都会更新,导致配置文件恢复到初始。
既然不能在容器里面改,也不能修改镜像,所以就从mysql的yaml文件下手。
思路:
1.创建configmap,设置配置映射