mysql配置文件jinja模板_python 动态渲染 mysql 配置文件的示例

背景

前段时间写了一个自动化安装 MySQL 的程序,其中有一个环节就是动态的渲染 my.cnf 文件;总的解决方案就是像 Django 渲染 html 页面一样,用渲染模板的方式来解决。

[mysqld]

basedir = {{basedir}}

datadir = {{datadir}}

port = {{port}}

user = {{user}}

011a3383b6e635190e5d2161ed6e4953.png

代码实现

我在渲染引擎的选择上使用了 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 只要专参数就行了,非常的方便。

以上就是python 动态渲染 mysql 配置文件的示例的详细内容,更多关于python 动态渲染配置文件的资料请关注其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值