python部署mariadb主从架构

主机部署:

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‘, ‘1‘)
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‘,‘1‘)
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()

从机部署:

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‘, ‘1‘)
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‘,‘2‘)
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()

原文地址:https://www.cnblogs.com/t-ym/p/11824898.html

时间: 2024-10-08 01:30:58

python部署mariadb主从架构的相关文章

使用python3脚本部署mariadb主从架构

环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. master import paramikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.168.253.180',port=22,username='root',password='369369yn

使用python搭建Linux-mariadb主从架构

环境准备两台: 192.168.193.90 master 192.168.193.91 slave 需要Linux装python环境: https://www.cnblogs.com/kingzhe/p/11124527.html 在做主从时,要保证两个数据库的信息一致 [[email protected] ~]# mysql_secure_installation [[email protected] ~]# mysql_secure_installation master import c

实战部署openldap主从架构

一.openldap介绍 二.openldap特点 三.openldap相关缩写 四.openldap组件 五.openldap环境规划 六.openldap部署---Master端 七.openldap部署---Slave端 八.openldap使用LAM工具管理 九.Master-Slave测试是否同步 一.openldap介绍: LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写. LDAP标准实际上是在X.500标准基础上产生的

Linux7/Centos7 Mariadb主从配置过程

环境:RedHat7 同样适用于Centos7(本文是在无网络环境部署mariadb主从) 卸载Mysql (防止mysql和mariadb冲突 ) 停止服务:systemctl stop mysqld 查询安装包:rpm -qa | grep mysql 卸载: rpm -e mysql-server rpm -e --nodeps mysql-libs 准备环境查看磁盘挂载情况:df –h < 如果没有则挂载系统盘:mount/dev/cdrom /media > PS: 在虚拟机设置里对

mariadb主从部署

MariaDB主从服务器优点简介 辅组实现备份Replication 高可用:在主服务器出现异常情况,修改指定配置可以直接顶替主服务器. 异地容灾 Scale out:分摊负载(是否启用!) 一.部署文档 1.确保在主服务器和从服务器上安装的MariaDB版本一致. 2.在主服务器上为从服务器设置一个连接账户 MariaDB [(none)]> GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO ''@'' IDENTIFIED BY '. 主服务器

mysql/mariadb主从复制架构配置及过程中出现的问题

两台CentOS7系虚拟主机:分别是:主服务器172.16.75.1,从服务器172.16.75.2使用的是mariadb-5.5.56,即centOS自带的软件版本为了使实验结果显示精准,此处关闭两台服务器的防火墙和SELinux:[[email protected] ~]# setenforce 0[[email protected] ~]# iptables -F 一.首先在主服务器172.16.75.1上配置:在/etc/my.cnf中配置如下:[mysqld]###定义二进制日志的存放

基于LNAMP环境搭建discuz论坛并部署mysql主从

这几天看见个题目:有两台服务器,其中一台部署apache+php+nginx+discuz,另外一台单独跑mysql数据库,其中nginx监听80端口,负责跑静态网页,apache监听88端口,负责跑动态网页(php相关)并且由nginx代理.最后在A设备上安装一个mysql数据库与B设备上的数据库构成mysql主从架构. 实验环境: 1.VMware Workstation 10 2.真机IP:192.168.0.113 2.设备A:nginx+apache+php+discuz+mysql,

基于LVS-DR模型实现keepalived的主从架构

在一个系统中,常常存在一些单点服务器,为了提高整个系统的稳定性,我们常常需要对这些单点服务做高可用配置,keepalived即为一种常用的高可用配置服务. 首先我们来了解一下神马是keepalived? keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障.使用多台节点安装keepalived.其他的节点用来提供真实的服务,同样的,他们对外表现一个虚拟的IP.主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性. keepa

部署集群基础环境,MySQL-MMM架构部署,MySQL-MMM架构使用

部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 1.2 方案 使用4台RHEL 6虚拟机,如图-1所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 图-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:准备环境 [[email protected] ~]# cat