python部署mariadb主从架构

Posted 负重前行岁月静好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

 

以上是关于python部署mariadb主从架构的主要内容,如果未能解决你的问题,请参考以下文章

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

mariadb主从部署

mariadb集群配置(主从和多主)

mariadb集群配置(主从和多)

5分钟了解与部署mariaDB(mysql)主从复制

初识MariaDB之5——主从复制原理及部署