zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    hdu--1045--Fire Net,NYOJ--587--dfs--blockhouses
    NYOJ--1100--WAJUEJI which home strong!
    NYOJ--927--dfs--The partial sum problem
    NYOJ--1058--dfs--部分和问题
    NYOJ--491--dfs(打表水过)--幸运三角形
    素数环:NYOJ--488--dfs||hdu-1016-Prime Ring Problem
    NYOJ--353--bfs+优先队列--3D dungeon
    NYOJ--325--深度优先搜索--zb的生日
    NYOJ--284--广搜+优先队列--坦克大战
    搭建虚拟环境
  • 原文地址:https://www.cnblogs.com/t-ym/p/11824898.html
Copyright © 2011-2022 走看看