master

  1. import configparser
  2. import os
  3. def config_mariadb_yum():
  4. exists = os.path.exists('/etc/yum.repos.d/mariadb.repo')
  5. if exists:
  6. print('mariadb.repo文件已经存在')
  7. yum_install_mariadb()
  8. else:
  9. config = configparser.ConfigParser()
  10. config.read('/etc/yum.repos.d/mariadb.repo', encoding='utf-8')
  11. config.add_section('mariadb')
  12. config.set('mariadb', 'name', 'MariaDB')
  13. config.set('mariadb', 'baseurl', 'http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/')
  14. config.set('mariadb', 'gpgkey', 'http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB')
  15. config.set('mariadb', 'gpgcheck', '')
  16. config.write(open("/etc/yum.repos.d/mariadb.repo", "w"))
  17. yum_install_mariadb()
  18.  
  19. def yum_install_mariadb():
  20. res1 = os.system('yum install MariaDB -y > /dev/null 2&>1')
  21. if res1 == 0:
  22. config = configparser.ConfigParser()
  23. config.read('/etc/my.cnf.d/server.cnf', encoding='utf-8')
  24. config.set('server','server_id','')
  25. config.set('server','log-bin','mysql-bin')
  26. config.write(open("/etc/my.cnf.d/server.cnf", "w"))
  27. res2 = os.system('service mariadb restart')
  28. if res2 == 0:
  29. os.system('mysql_secure_installation')
  30. os.system('''mysql -uroot -proot -e "grant replication slave on *.* to 'slave'@'%' identified by 'slave'"''')
  31. os.system("mysql -uroot -proot -e 'show master status'")
  32.  
  33. def main():
  34. config_mariadb_yum()
  35. if __name__ == '__main__':
  36. main()

slave

  1. import configparser
  2. import os
  3. master_ip = input('master_ip:').strip()
  4. log_file = input('log_file:').strip()
  5. pos = input('pos:').strip()
  6. def config_mariadb_yum():
  7. exists = os.path.exists('/etc/yum.repos.d/mariadb.repo')
  8. if exists:
  9. print('mariadb.repo文件已经存在')
  10. yum_install_mariadb()
  11. else:
  12. config = configparser.ConfigParser()
  13. config.read('/etc/yum.repos.d/mariadb.repo', encoding='utf-8')
  14. config.add_section('mariadb')
  15. config.set('mariadb', 'name', 'MariaDB')
  16. config.set('mariadb', 'baseurl', 'http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/')
  17. config.set('mariadb', 'gpgkey', 'http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB')
  18. config.set('mariadb', 'gpgcheck', '')
  19. config.write(open("/etc/yum.repos.d/mariadb.repo", "w"))
  20. yum_install_mariadb()
  21.  
  22. def yum_install_mariadb():
  23. res1 = os.system('yum install MariaDB -y > /dev/null 2&>1')
  24. if res1 == 0:
  25. config = configparser.ConfigParser()
  26. config.read('/etc/my.cnf.d/server.cnf', encoding='utf-8')
  27. config.set('server','server_id','')
  28. config.write(open("/etc/my.cnf.d/server.cnf", "w"))
  29. res2 = os.system('service mariadb restart')
  30. if res2 == 0:
  31. os.system('mysql_secure_installation')
  32. 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))
  33. os.system("mysql -uroot -proot -e 'start slave;'")
  34.  
  35. def main():
  36. config_mariadb_yum()
  37. if __name__ == '__main__':
  38. main()

python3自动部署mariadb主从的更多相关文章

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

    环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. master import paramikossh=paramiko ...

  2. python3 自动部署MariaDB主从复制

    master import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.rep ...

  3. 使用python脚本部署mariadb主从架构

    环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. grant all on *.* to root@'%'  iden ...

  4. python部署mariadb主从架构

    主机部署: import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.repo ...

  5. Mariadb 主从

    一 mariadb主从多用于网站架构,因为该主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  6. Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)

    一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...

  7. MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)  OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...

  8. MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)

    MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...

  9. SaltStack入门篇(六)之部署Redis主从实现和Job管理

    一.部署Redis主从 需求: 192.168.56.11是主,192.168.56.12是从 redis监听自己的ip地址,而不是0.0.0.0 分析: linux-node1 安装 配置 启动 l ...

随机推荐

  1. javascript专题系列--尾调用和尾递归

    最近在看<冴羽的博客>,讲真,确实受益匪浅,已经看了javascript 深入系列和专题系列的大部分文章,可是现在才想起来做笔记.所以虽然很多以前面试被问得一脸懵逼的问题都被“一语惊醒梦中 ...

  2. O(n log n)求最长上升子序列与最长不下降子序列

    考虑dp(i)表示新上升子序列第i位数值的最小值.由于dp数组是单调的,所以对于每一个数,我们可以二分出它在dp数组中的位置,然后更新就可以了,最终的答案就是dp数组中第一个出现正无穷的位置. 代码非 ...

  3. 牛客CSP-S提高组赛前集训营1———2019.10.29 18:30 至 22:00

    期望得分:100+0+10 实际得分:40+0+0 考炸了... T1:题目链接 究竟为什么会这样,,, 仔细研读我的丑代码 发现... 枯辽.... #include<cstdio> # ...

  4. [LeetCode] 321. Create Maximum Number 创建最大数

    Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...

  5. RestTemplate使用教程

    原文地址:https://www.cnblogs.com/f-anything/p/10084215.html 一.概述 spring框架提供的RestTemplate类可用于在应用中调用rest服务 ...

  6. 【idea】【mysql】idea连接mysql

  7. HTTP之URL的快捷方式

    URL快捷方式 ==================摘自<HTTP权威指南>======================= WEB客户端可以理解并使用几种URL快捷方式.相对URL是在某职 ...

  8. linux下发布项目

    查看端口

  9. 认识MicroBit

    MicroBit是BBC(英国广播公司),为孩子们推出一款开发板,或者叫控制板,可以简单地理解为通过这块电子板,可以控制接在其外围的电子模板,可以读入数据,也可以输出数据,模拟的或数字的数据.这样一来 ...

  10. Appium+python自动化(一)- 环境搭建—上(超详解)

    简介 今天是高考各地由于降水,特别糟糕,各位考生高考加油,全国人民端午节快乐.最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声.即将要开启新的征程和篇章(Appium& ...