Galera Cluster5.7 for mysql (CentOs7 )集群搭建

安装环境:

  centOs7
  Galera Cluster5.7(MySql5.7)

下载galeracluster

  下载地址http://galeracluster.com/downloads/

  安装前需卸载原有mysql,删除相关文件夹
  卸载Postfix,这个可能跟MySQL配置有冲突: yum remove postfix –y
  安装需要外网环境

使用 (yum install -y 包名)命令进行安装。

  安装顺序:
    1、 mysql-wsrep-libs-compat-5.7-5.7.23-25.15.el7.x86_64.rpm
    2、 mysql-wsrep-common-5.7-5.7.23-25.15.el7.x86_64.rpm
    3、 mysql-wsrep-libs-5.7-5.7.23-25.15.el7.x86_64.rpm
    4、 mysql-wsrep-devel-5.7-5.7.23-25.15.el7.x86_64.rpm
    5、 mysql-wsrep-client-5.7-5.7.23-25.15.el7.x86_64.rpm
    6、 mysql-wsrep-server-5.7-5.7.23-25.15.el7.x86_64.rpm
    7、 mysql-wsrep-5.7-5.7.23-25.15.el7.x86_64.rpm
    8、 mysql-wsrep-test-5.7-5.7.23-25.15.el7.x86_64.rpm(该包在安装时会提示没有 mysql-wsrep-server的依赖,使用rpm 加上–nodeps参数安装)
    9、galera-3-25.3.24-2.el7.x86_64

安装完成后mysql 首次启动

  1)使用命令:mysqld --initialize 初始化mysql
  2)查看默认密码: grep ‘temporary password’ /var/log/mysqld.log (路径为my.cnf 中配置的log_error 路径)
  3)重设root账户密码:SET PASSWORD=PASSWORD(“Liufahui1@”);(mysql5.7默 认密码等级比较高,修改密码的时候需要至少8位,包含数字,大小写和特殊字符)
  4)开放远程登录授权
  给对应需要访问MySQL的用户名和密码进行授权,如果没有授权,是无法远程连接MySQL的
    授权无端口限制的用户登录mysql数据库(生产上开放端口):
    GRANT ALL PRIVILEGES ON . TO ‘用户名’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  5)去掉Postfix,这个可能跟MySQL配置有冲突: yum remove postfix -y
  6)关闭防火墙(生产上可开放端口):
    setenforce 0 && systemctl stop firewalld
  7) 关闭mysql服务:service mysqld stop (注意mysql5.7是mysqld)

修改配置文件:

  1) 修改my.cnf
vim /etc/my.cnf,增加:!includedir /etc/my.cnf.d/
  2) 修改wsrep.cnf
vi /etc/my.cnf.d/wsrep.cnf
    [mysqld]
    server-id=145 #每个节点一个唯一的ID
    default-storage-engine=innodb
    innodb_autoinc_lock_mode=2
    innodb_locks_unsafe_for_binlog=1
    query_cache_size=0
    query_cache_type=0
    bind-address=0.0.0.0
    wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
    wsrep_provider_options=‘gmcast.listen_addr=tcp://192.168.79.145:4567’ #修改为本节点地址
    wsrep_cluster_name=“my_wsrep_cluster” #集群名称,所有节点配置为同一个
    wsrep_cluster_address=gcomm://192.168.79.145:4567,192.168.79.146:4567,192.168.79.147:4567 #节点中所有节点地址
    wsrep_node_name=node1 #node名称,每个节点名称唯一
    wsrep_node_address=‘192.168.79.145’ #本节点地址
    wsrep_node_incoming_address=‘192.168.79.145’ #本节点地址
    wsrep_slave_threads=1
    wsrep_certify_nonPK=1
    wsrep_max_ws_rows=131072
    wsrep_max_ws_size=1073741824
    wsrep_debug=0
    wsrep_convert_LOCK_to_trx=0
    wsrep_retry_autocommit=1
    wsrep_auto_increment_control=1
    wsrep_drupal_282555_workaround=0
    wsrep_causal_reads=0
    wsrep_notify_cmd=
    wsrep_sst_method=rsync
    wsrep_sst_auth=root:Liufahui1@ #数据量库用户名密码
    wsrep_sst_donor=‘node1,node2,node3,’ #节点中所有节点的node名称

启动集群:

  1) 集群第一个节点启动
    wsrep.cnf 配置中的 wsrep_cluster_address 需要如此配置 wsrep_cluster_address=gcomm:// ,以后再启动的话需要配置完整。
使用 /usr/bin/mysqld_bootstrap 命令启动
    启动成功后将wsrep_cluster_address=gcomm://补充完整。

  2) 其他节点启动
    修改好my.cnf和wsrep.cnf参数后直接启动mysql即可。

  注意:/usr/bin/mysqld_bootstrap 命令只在集群第一个节点启动时使用,因为这个脚本中带有一个参数:–wsrep-new-cluster,代表新集群。

集群重启:

  在集群停止之后重启时,先在每个几点上使用mysqld_safe --wsrep-recover查看节点的Recovered position的值,选择值最大的一个作为第一个几点启动,如果启动失败,则在将作为第一个启动节点的服务器上编辑grastate.dat文件(可以使用find命令查找位置),将safe_to_bootstrap的值设为1,使用/usr/bin/mysqld_bootstrap命令启动该节点,其他节点启动与以前一致。

你可能感兴趣的:(mysqlCluster)