首页 > 数据库技术 > 详细

python3自动部署mariadb主从

时间:2019-05-08 23:43:47      阅读:187      评论:0      收藏:0      [点我收藏+]

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

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

 

python3自动部署mariadb主从

原文:https://www.cnblogs.com/fengzi7314/p/10835874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!