pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
背景:
环境注意:在用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,设置配置映射
2.mysql里使用configmap挂载数据配置
mysql配置文件---configmap
apiVersion: v1
data:
mysqld.cnf:|-[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
# Bydefault we only accept connections fromlocalhost
#bind-address = 127.0.0.1# Disabling symbolic-links isrecommended to prevent assorted security risks
symbolic-links=0sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'kind: ConfigMap
metadata:
name: mysql-confignamespace: gymdev
其中,mysqld.cnf是数据库配置文件的名称,后面跟的是配置文件的内容,最后一排就是更改报错的配置;metadata--name是这个configmap的名称,后面mysql的yaml里面会调用。
mysql
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-devnamespace: icourt-dev
labels:
app: mysql-dev
spec:
replicas:1selector:
matchLabels:
app: mysql-dev
template:
metadata:
labels:
app: mysql-dev
spec:
containers:-name: mysql
image: mysql:5.7env:-name: MYSQL_ROOT_PASSWORD
value:"密码"ports:- containerPort: 3306protocol: TCP
name: 3306tcp01
volumeMounts:- mountPath: "/var/lib/mysql"name: mysqlpv-icourt-dev
subPath: mysqldev-icourt-dev - name: config-volume
mountPath: "/etc/mysql/mysql.conf.d/"
volumes:- name: mysqlpv-icourt-dev
persistentVolumeClaim:
claimName: mysqlpvc-icourt-dev- name: config-volume
configMap:
name: mysql-config
其中,(1)表示一个挂载点的名称
(2)表示新挂载点的路径,这里就是mysql配置文件的路径
(3)表示挂载点的名称
(4)使用configmap
(5)使用名为mysql-config,configmap的name
pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件相关推荐
- mysql视图中数据如何修改_怎么修改Mysql数据表中的视图
本篇文章主要给大家介绍mysql数据表中怎么进行修改视图的操作. 关于mysql视图的基础知识,在之前的文章中也给大家详细介绍过了.这里我们再给大家先简单介绍下mysql视图. 通俗的说,视图是由SE ...
- 删除电脑中的mysql数据库吗_【数据库】怎么彻底删除mysql服务?
彻底删除mysql服务的步骤: 1.关闭mysql服务 在cmd命令行输入以下命令 net stop mysql 或者 我的电脑右键->管理->服务,进入后手动关闭. 2.删除MySQL服 ...
- JAVA跟MYSQL数据库交互_【编写Java程序实现与Mysql数据库的连接,并交互性的实现简单查询,删除,修改,排序,显示等操作】...
目前博主只实现了查询和插入,而且还不太会在面板对数据库语句进行更新,写完再看感觉语言有些冗杂,往后再更,大半夜写这个也是醉了呢. import javax.swing.*; import java.a ...
- mysql序列号生成_值得一看!数据库及Mysql入门,附详细安装教程
#什么是数据 用来描述事物的符号记录.可以是数字.文字.图形等,有多种形式,经过数字化之后存入计算机 #什么是数据库 数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织 ...
- mysql root命令_设置更改root密码、连接mysql、mysql常用命令
目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 一.设置更改root密码 检查mysql服务是否启动 [root@minglinux-01 ~] ps aux |grep ...
- 服务器多出mysql帐户_在一台服务器构建多mysql 服务
作者博客:http://windychan.cublog.cn/ 欢迎转载,但务必在转载时注明出处.[/align] ***************************************** ...
- mysql 开源入门_入门教程:安装配置新版MySQL 8开源数据库
原标题:入门教程:安装配置新版MySQL 8开源数据库 [ 来自IT168] [IT168 技术]MySQL是现代应用程序编程堆栈中常见的数据库管理系统.如果您想要一个适用于您应用程序的,便于利用丰富 ...
- 从官网下载mysql 如何配置_从官网下载最新版Mysql并配置使用
第一步:在百度搜索"Mysql",我们点击第一个连接,如下图所示. 第二步:点击上图的链接后我们进入到如下图所示的界面,我们点击"Downloads"子菜单的& ...
- mysql心得笔记_【原创】学习{我的mysql学习心得}的笔记
标签: 万丈高楼平地起. 从最基础的做起,从最简单的做起. ---------------------------------------------------------------------- ...
最新文章
- java concurrenthashmap与阻塞队列
- 发现一篇专门吐槽 NLP 内卷现状的 ACL 论文 ...
- Apache Mina2.x网络通信框架使用入门
- php安装 pear,php pear / pecl 扩展工具的安装和使用
- R语言 plot()函数 基础用法
- wordpress主题-响应式CUI2.0翠竹林博客主题wordpress模板分享
- 使用asp.net mvc开发应用程序,页面中的page.IsPostback还有用处吗?
- 403 forbidden nginx_5,Logstash正则提取Nginx日志 - pwcc
- 数据库实验3 数据库的单表查询
- mysql临时表如何分页_sql server 与 mysql 分页查询以及创建临时表的区别
- 新手必备的矢量网络分析仪使用教程
- 程序员接私单被警方抓走,企业应不应该起诉程序员赔偿?
- Marshmallow 的用法
- Wifi认证及加密详解
- 第二章 信托的关系及其设立
- 用ajax做级联操作,学习笔记之MVC级联及Ajax操作
- js 空数组直接赋值与push
- AB实验平台在贝壳找房的设计与实践
- matlab 点云根据法向量投影到六个平面
- 音视频码率,采样率,帧率基础知识