• Centos 7 MariaDB Galera cluster 部署


    一、安装环境准备

      1、系统:

        CentOS Linux release 7.4.1708 (Core)

      2、hosts

        10.6.32.51  openstack1

        10.6.32.52  openstack2

        10.6.32.53  openstack3

      3、关闭防火墙和Selinux

      4、同步时间:

        博客:http://www.cnblogs.com/weijie0717/p/8549204.html

      5、查看和卸载 系统原有的 mariadb、mysql (必须卸载,否则后期会有问题):

        #  rpm -qa | grep -i maria

        #  rpm -qa | grep -i mysql

        #  yum remove mariiadb

        #  yum remove mysql 

    二、集群部署

      1、包安装

        # yum install  MariaDB-Galera-server galera

        # yum install percona-xtrabackup -y

        #  yum install perl-Time-HiRes.x86_64  socat percona-toolkit -y

      2、修改基础配置文件 (所有节点操作)

          # cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

          # vim /etc/my.cnf        

    注释以下行:
    binlog_format=mixed
    server-id    = 1

          # vim /etc/my.cnf.d/server.cnf        

    添加或取消注释如下行:
    [mysqld]
    #....
    datadir=/var/lib/mysql
    log-error=/var/log/mysqld.log
    
    [galera]
    #...
    binlog_format=row
    default_storage_engine=InnoDB
    innodb_autoinc_lock_mode=2
    

      3、启动服务,修改密码  (节点1操作)

        # systemctl start mysql   

        # mysql     # mariadb 默认没有密码,可以直接进入

        MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

        MariaDB [(none)]> GRANT ALL ON  *.* TO 'galera'@'localhost' IDENTIFIED BY 'yourpasswd';   (添加用户:galera,后期集群配置文件用到 )

      4、配置集群文件 (所有节点)

         #  vim /etc/my.cnf.d/server.cnf      

    添加如下行,红色字体为个节点的差异配置,和自定义配置。
    bind-address=10.6.32.51
    server-id=101
    wsrep_cluster_name=openstack_cluster
    wsrep-provider=/usr/lib64/galera/libgalera_smm.so
    wsrep_node_name = openstack1
    wsrep_cluster_address=gcomm://10.6.32.51,10.6.32.52,10.6.32.53
    wsrep_node_address=10.6.32.51
    wsrep_provider_options =gmcast.listen_addr=tcp://10.6.32.51:4567
    wsrep_sst_donor=openstack1,openstack2,openstack3
    wsrep_sst_method=xtrabackup-v2       #集群数据同步方式( xtrabackup-v2或rsync 都需要安装所匹配的插件)
    wsrep_sst_auth=galera:yourpasswd
    slow_query_log=on

       5、集群启动

        a、当集群中还没有节点启动时,确认所有节点上没有mysql进程,如果有请关闭。(所有节点操作)

          # ps -aux | grep mysql

          # kill -9 mysql-id

        b、启动集群中第一个节点。(openstack1 上操作)  

           /usr/libexec/mysqld  --wsrep-new-cluster     (当且仅当 集群中没有任何节点开启,启动第一个节点时使用)

        c、启动其他节点,逐台启动,然后查看集群状态

          # systemctl start mysqld    (集群中有节点后就可以正常启动。openstack2 和openstack3 上依次启动,启动一台查看依次集群状态)

          

        d、重新启动第一个节点的数据库(opoenstsck1上操作)

          # kill -i mysq-id    (因为第一次为非正常启动,需要使用kill 杀掉进程来关闭mysql)

          # systemctl restart mysqld

            (如果重启失败,请查看/var/lib/mysql/mysql.sock.lock 是否存在,如果存在,删除后重新启动。)

         e、在各节点使用 数据同步用户galera登录,如果可以正常启动并登录成功。到此,Galera Cluster 已经成功部署。

     三、测试

       参考:Centos 7 下 Mysql 5.7 Galera Cluster 集群部署

       

      谢谢!!!

    IT运维开发路上的点点滴滴。。。
  • 相关阅读:
    SQL 通配符
    SQL 中定义别名
    SQL 语句执行顺序
    将汉字散列存储
    FileStream写文本文档时候显示其他进程正在访问的问题
    向数据库中添加含有单引号的数据
    整词二分、逐字二分的分词词典机制
    C# 集合类总结(Array,Arraylist,List,Hashtable,Dictionary,Stack,Queue)
    固定表格宽度
    对于交叉表的实现及多重表头的应用
  • 原文地址:https://www.cnblogs.com/weijie0717/p/8611867.html
Copyright © 2020-2023  润新知