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 ...
随机推荐
- org.slf4j.helpers.Log4jLoggerFactory is not on classpath. Good!
View Javadoc 1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contrib ...
- 毕业一年的大专生程序员工作总结(java后台)
文章导读 一.回眸过去-- 闲扯的话-- 零碎的技术 二.经验总结-- 沟通交流-- 贵在坚持-- 合理规划 三.展望未来-- 积累行业背景-- 学习清单 四.最后补充 一. 回牟过去 1.闲扯的话 ...
- Linux性能优化实战学习笔记:第十讲
一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.g ...
- Linux性能优化实战学习笔记:第四十一讲
一.上节回顾 上一节,我们探究了网络延迟增大问题的分析方法,并通过一个案例,掌握了如何用hping3.tcpdump.Wireshark.strace 等工具,来排查和定位问题的根源. 简单回顾一下, ...
- Gitea 使用方法
安装部分笔记 创建专用数据库及用户 create database if not exists gitea default charset = utf8mb4; grant ALL PRIVILEGE ...
- mysql出生日期转成年龄
可以直接用数据库函数进行转换,省去java代码转换的麻烦 SELECT TIMESTAMPDIFF(YEAR, '1988/01/10', CURDATE()) 且此函数容错很好,就算是null,‘ ...
- 分布式事物解决方案-TCC
分布式框架下,如何保证事物一致性一直是一个热门话题.当然事物一致性解决方案有很多种(请参考:分布式事物一致性设计思路),我们今天主要介绍TCC方案解决的思路.以下是参与设计讨论的一种解决思路,大家有问 ...
- 【07月16日】A股滚动市净率PB历史新低排名
2010年01月01日 到 2019年07月16日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年07月16日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...
- Python处理数据集-1
原数据集的数据格式: 每行为:(test_User, test_Item) negativeItem1 negativeItem2 negativeItem3 …… negativeItem99 即每 ...
- Git基础-第2章
简单的Git基础概念: repository: 仓库 track: 跟踪 stage: 暂存 commit: 提交 push: 推送 pull: 拉取 一.获取Git仓库 ...