记录一个读取my.cnf配置的脚本,可以基于该函数做一些mysql 后端运维工作。各位可以基于自己的需求进行修改。
脚本名称 getcnf.py
运行效果图
脚本名称 getcnf.py
- import sys
- import os
-
- def read_cnf(cnf_path):
- assert cnf_path is not None and os.path.exists(cnf_path)
- cnf_dict = {}
- cur_section = None
- with open(cnf_path) as cnf_reader:
- for line in cnf_reader.readlines():
- line = ''.join(line.split())
- if len(line) <= 0 or '#' == line[0]:
- continue
- if '[' == line[0] and ']' == line[-1]:
- cur_section = line[len('['):len(line) - 1]
- if cur_section not in cnf_dict:
- cnf_dict[cur_section] = {}
- elif '=' in line and line.count('=') == 1:
- if cur_section is None:
- LOGGER.warning('cur_section is None')
- continue
- tokens = line.split('=')
- key = tokens[0].replace('"', '').replace("'", '')
- value = tokens[1].replace('"', '').replace("'", "")
- cnf_dict[cur_section][key] = value
- return cnf_dict
-
-
- def main():
- cnf_path="/u01/my3353/my.cnf"
- mycnf = read_cnf(cnf_path)
- print mycnf['mysqld']['tmpdir']
-
- if __name__ == '__main__':
- main()
![](/attachment/201509/3/22664653_1441287262qqGr.jpg)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-1790359/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22664653/viewspace-1790359/