• 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()
  • 相关阅读:
    8种CSS清除浮动的方法优缺点分析
    link和@import的区别
    删除表及删除表中数据的方法
    【HTML5】---【HTML5提供的一些新的标签用法以及和HTML 4的区别】
    【HTML】---HTML语义化
    【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选
    第四篇:python 高级之面向对象初级
    第三篇:python高级之生成器&迭代器
    第二篇:python高级之装饰器
    第一篇:python高级之函数
  • 原文地址:https://www.cnblogs.com/t-ym/p/11824898.html
Copyright © 2020-2023  润新知