python 动态渲染 mysql 配置文件的示例
作者:蒋乐兴 时间:2024-01-26 05:15:20
背景
前段时间写了一个自动化安装 MySQL 的程序,其中有一个环节就是动态的渲染 my.cnf 文件;总的解决方案就是像 Django 渲染 html 页面一样,用渲染模板的方式来解决。
[mysqld]
basedir = {{basedir}}
datadir = {{datadir}}
port = {{port}}
user = {{user}}
代码实现
我在渲染引擎的选择上使用了 jinja2 这个模板引擎,去掉其它逻辑一个最小化的代码如下。
#!/usr/bin/env python3
from jinja2 import Environment,FileSystemLoader
def render_mysql_config_file():
#通过文件系统加载器,加载当前目录下的 my.cnf.jinja 模板文件
env = Environment(loader=FileSystemLoader(searchpath='./'))
tmpl = env.get_template('my.cnf.jinja')
#给要渲染的参数指定值
cnfs = {
'basedir': '/usr/local/mysql/',
'datadir': '/database/mysql/data/3306/',
'port': 3306,
'user'; 'mysql3306'
}
tmpl.globals=cnfs
#不保存到 /etc/my.cnf 了,直接输出到 stdout
print(tmpl.render())
if __name__ == "__main__":
render_mysql_config_file()
运行效果如下
python3 cnfs.py
[mysqld]
basedir = /usr/local/mysql/
datadir = /database/mysql/data/3306/
port = 3306
user = mysql3306
总结
通过模板引擎渲染 my.cnf 只要专参数就行了,非常的方便。
来源:https://www.sqlpy.com/blogs/402733201
标签:python,动态,渲染,MySQL,配置文件
0
投稿
猜你喜欢
Python数据提取-lxml模块
2022-04-03 15:15:19
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2024-04-16 08:49:54
python编写计算器功能
2022-10-29 14:07:33
Ajax的错误处理机制探讨
2007-09-07 09:53:00
Sql Server中的视图介绍
2024-01-14 14:31:22
python实现用户答题功能
2022-01-05 21:38:02
js判断文件是否为utf-8编码的方法
2024-04-22 13:06:51
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2022-07-07 17:14:01
Python实现随机森林回归与各自变量重要性分析与排序
2023-05-04 05:52:21
ASP trim,ltrim,rtrim 去前后空格 函数
2011-03-03 10:39:00
python3实现指定目录下文件sha256及文件大小统计
2023-11-26 15:37:00
自动备份mssql server数据库并压缩的批处理脚本
2024-01-24 00:30:11
JavaScript的事件机制详解
2024-05-03 15:58:45
asp.net中文件下载功能的实例代码
2023-07-20 15:46:51
python list转置和前后反转的例子
2022-04-26 10:39:55
python实现有效的括号判断实例代码
2023-11-24 14:40:34
Python实现文字pdf转换图片pdf效果
2021-03-10 23:20:03
详解用Python爬虫获取百度企业信用中企业基本信息
2022-07-27 18:49:52
JMeter对MySQL数据库进行压力测试的实现步骤
2024-01-28 18:26:55
vue判断input输入内容全是空格的方法
2024-04-09 10:48:01