python3自动部署mariadb主从
master
- import configparser
- import os
- def config_mariadb_yum():
- exists = os.path.exists('/etc/yum.repos.d/mariadb.repo')
- if exists:
- print('mariadb.repo文件已经存在')
- yum_install_mariadb()
- else:
- config = configparser.ConfigParser()
- config.read('/etc/yum.repos.d/mariadb.repo', encoding='utf-8')
- config.add_section('mariadb')
- config.set('mariadb', 'name', 'MariaDB')
- config.set('mariadb', 'baseurl', 'http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/')
- config.set('mariadb', 'gpgkey', 'http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB')
- config.set('mariadb', 'gpgcheck', '')
- config.write(open("/etc/yum.repos.d/mariadb.repo", "w"))
- yum_install_mariadb()
- def yum_install_mariadb():
- res1 = os.system('yum install MariaDB -y > /dev/null 2&>1')
- if res1 == 0:
- config = configparser.ConfigParser()
- config.read('/etc/my.cnf.d/server.cnf', encoding='utf-8')
- config.set('server','server_id','')
- config.set('server','log-bin','mysql-bin')
- config.write(open("/etc/my.cnf.d/server.cnf", "w"))
- res2 = os.system('service mariadb restart')
- if res2 == 0:
- os.system('mysql_secure_installation')
- os.system('''mysql -uroot -proot -e "grant replication slave on *.* to 'slave'@'%' identified by 'slave'"''')
- os.system("mysql -uroot -proot -e 'show master status'")
- def main():
- config_mariadb_yum()
- if __name__ == '__main__':
- main()
slave
- import configparser
- import os
- master_ip = input('master_ip:').strip()
- log_file = input('log_file:').strip()
- pos = input('pos:').strip()
- def config_mariadb_yum():
- exists = os.path.exists('/etc/yum.repos.d/mariadb.repo')
- if exists:
- print('mariadb.repo文件已经存在')
- yum_install_mariadb()
- else:
- config = configparser.ConfigParser()
- config.read('/etc/yum.repos.d/mariadb.repo', encoding='utf-8')
- config.add_section('mariadb')
- config.set('mariadb', 'name', 'MariaDB')
- config.set('mariadb', 'baseurl', 'http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/')
- config.set('mariadb', 'gpgkey', 'http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB')
- config.set('mariadb', 'gpgcheck', '')
- config.write(open("/etc/yum.repos.d/mariadb.repo", "w"))
- yum_install_mariadb()
- def yum_install_mariadb():
- res1 = os.system('yum install MariaDB -y > /dev/null 2&>1')
- if res1 == 0:
- config = configparser.ConfigParser()
- config.read('/etc/my.cnf.d/server.cnf', encoding='utf-8')
- config.set('server','server_id','')
- config.write(open("/etc/my.cnf.d/server.cnf", "w"))
- res2 = os.system('service mariadb restart')
- if res2 == 0:
- os.system('mysql_secure_installation')
- os.system('''mysql -uroot -proot -e "CHANGE MASTER TO MASTER_HOST='%s', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s"''' % (master_ip,log_file,pos))
- os.system("mysql -uroot -proot -e 'start slave;'")
- def main():
- config_mariadb_yum()
- if __name__ == '__main__':
- main()
python3自动部署mariadb主从的更多相关文章
- 使用python3脚本部署mariadb主从架构
环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. master import paramikossh=paramiko ...
- python3 自动部署MariaDB主从复制
master import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.rep ...
- 使用python脚本部署mariadb主从架构
环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. grant all on *.* to root@'%' iden ...
- python部署mariadb主从架构
主机部署: import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.repo ...
- Mariadb 主从
一 mariadb主从多用于网站架构,因为该主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)
一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...
- MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群) OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...
- MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...
- SaltStack入门篇(六)之部署Redis主从实现和Job管理
一.部署Redis主从 需求: 192.168.56.11是主,192.168.56.12是从 redis监听自己的ip地址,而不是0.0.0.0 分析: linux-node1 安装 配置 启动 l ...
随机推荐
- javascript专题系列--尾调用和尾递归
最近在看<冴羽的博客>,讲真,确实受益匪浅,已经看了javascript 深入系列和专题系列的大部分文章,可是现在才想起来做笔记.所以虽然很多以前面试被问得一脸懵逼的问题都被“一语惊醒梦中 ...
- O(n log n)求最长上升子序列与最长不下降子序列
考虑dp(i)表示新上升子序列第i位数值的最小值.由于dp数组是单调的,所以对于每一个数,我们可以二分出它在dp数组中的位置,然后更新就可以了,最终的答案就是dp数组中第一个出现正无穷的位置. 代码非 ...
- 牛客CSP-S提高组赛前集训营1———2019.10.29 18:30 至 22:00
期望得分:100+0+10 实际得分:40+0+0 考炸了... T1:题目链接 究竟为什么会这样,,, 仔细研读我的丑代码 发现... 枯辽.... #include<cstdio> # ...
- [LeetCode] 321. Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
- RestTemplate使用教程
原文地址:https://www.cnblogs.com/f-anything/p/10084215.html 一.概述 spring框架提供的RestTemplate类可用于在应用中调用rest服务 ...
- 【idea】【mysql】idea连接mysql
- HTTP之URL的快捷方式
URL快捷方式 ==================摘自<HTTP权威指南>======================= WEB客户端可以理解并使用几种URL快捷方式.相对URL是在某职 ...
- linux下发布项目
查看端口
- 认识MicroBit
MicroBit是BBC(英国广播公司),为孩子们推出一款开发板,或者叫控制板,可以简单地理解为通过这块电子板,可以控制接在其外围的电子模板,可以读入数据,也可以输出数据,模拟的或数字的数据.这样一来 ...
- Appium+python自动化(一)- 环境搭建—上(超详解)
简介 今天是高考各地由于降水,特别糟糕,各位考生高考加油,全国人民端午节快乐.最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声.即将要开启新的征程和篇章(Appium& ...