节点             ip地址      hostname                            系统版本   程序版本

node1   10.4.90.90   mysql1    db1       centos6.8   MariaDB10.0.21
node2 10.4.90.91 mysql2 db2 centos6.8 MariaDB10.0.21
node3 10.4.90.92 mysql3 db3 centos6.8 MariaDB10.0.21

停止防火墙

service iptables stop
chkconfig --level 2345 iptables off

关闭selinux

echo -e "#SELINUX=enforcing\n#SELINUXTYPE=targeted\nSELINUX=disabled\nSETLOCALDEFS=0" > /etc/selinux/config

1、Node1 Node2 Node3节点上安装ntpdate设置定时时间同步和ssh互相
安装ntp

yum install ntpdate 

2.在crontab里面加入时钟同步

crontab -e

*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

/etc/init.d/crond restart

3.vim /etc/hosts

10.4.90.90    db1 mysql1
10.4.90.91 db2 mysql2
10.4.90.92 db3 mysql3

4.下面是在Node1 Node2 Node3节点上执行,让本机的公钥放到其他节点上

ssh-keygen  -t rsa -f ~/.ssh/id_rsa  -P ''
awk '{if ($0!~/'"$(hostname)"'|localhost/)print $NF}' /etc/hosts |xargs -i ssh-copy-id -i ~/.ssh/id_rsa.pub root@{}

5.在Node1 Node2 Node3节点上安装基础的编译环境

rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysql*
rm -rf /etc/init.d/php*
rm -rf /etc/init.d/http*
rm -rf /etc/php.ini yum -y remove httpd
yum -y remove http
yum -y remove php
yum -y remove mysql
yum -y remove mysqld
yum -y remove mariadb
yum -y remove mysql-libs yum -y install readline* gcc* xmlto kernel-devel yum* nc nmap perl screen vim* libaio psmisc wget lrzsz rsync perl-version pcre-devel perl-libs perl-Time-HiRes libtidy libtidy-devel perl-Pod-Simple iptraf sysstat libevent libevent-devel perl-Pod-Escapes perl-Module-Pluggable perl-DBI perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker tar rrdtool ntp* dos2unix setup* net-snmp-utils net-snmp-devel ruby ruby-devel php-snmp cmake net-snmp-perl net-snmp net-snmp-libs wget elinks make autoconf213 m4 gcc gcc-c++ automake autoconf fontconfig fontconfig-devel libjpeg libjpeg* libjpeg-devel libpng libpng-devel freetype freetype* freetype-devel libxml2 libxml2-devel libdhash libdhash-devel libxslt* zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2* libc-client libc-client-devel libicu-devel ncurses ncurses-devel xmlrpc-c xmlrpc-c-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers gd gd-devel pam* gettext gettext-devel keyutils compat* mpfr cpp libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libXpm* php-gd ncurses* libtool* patch unzip bison-devel bison libcom_err-devel libsepol-devel gtk* libselinux-devel libtiff* php-common policycoreutils telnet t1lib* nasm* git redhat-lsb-core lsof man net-tools strace sudo system-config-network-tui tcpdump zip bind-utils

6.在Node1 Node2 Node3节点上编译安装MariaDB Galera

rpm地址http://yum.mariadb.org/10.0.21/centos6-amd64/rpms/

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
cp bak/CentOS-Base.repo . vim db.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0.21/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1

-----------
我用的是和原始上产一样的版本 大家可以选址10.x其他的版本

yum clean all
yum makecache yum install socat-1.7.2.4-1.el6.rf.x86_64.rpm yum install MariaDB-Galera-server MariaDB-client galera perl-DBD-MySQL

7.设置mysql密码

/etc/init.d/mysql start
mysqladmin -u root password 回车输入2次新密码

8.创建用于同步数据库的SST帐号

mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'cluster'@'%' IDENTIFIED BY 'lookback' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> quit
###验证通过之后停止MariaDB
/etc/init.d/mysql stop

9.第一次启动主节点,也就是就是node1 需要--wsrep-new-cluster参数,新节点加入有改写配置文件在启动就不需要加入这个参数了

/etc/init.d/mysql start --wsrep-new-cluster (记得node2启动加入集群后 才能修改配置文件的wsrep_cluster_address)

备注:node节点加入后用SHOW STATUS LIKE 'wsrep%'; 查询就能看到节点的存在

10.配置/etc/my.cnf.d/server.cnf

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

[mariadb-10.0]
wsrep_on=ON #开启wsrep服务
binlog_format=ROW #日志格式必须为ROW
max_connections=128
default-storage-engine=innodb #默认引擎
innodb_autoinc_lock_mode=2 #指定innodb自增长列锁模式,2为交叉锁模式,多个语句能同时执行
innodb_locks_unsafe_for_binlog=1
query_cache_size=2048M
query_cache_type=1
table_cache=1024M
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M
innodb_thread_concurrency=16
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=32M
max_connections=1024
bind-address=0.0.0.0 #绑定地址
datadir=/data/mysql #mysql的data存放地址
innodb_log_file_size=100M
innodb_file_per_table
innodb_flush_log_at_trx_commit=2 wsrep_provider=/usr/lib64/galera/libgalera_smm.so #定Galera库的路径和文件名
###这里需要注意,如果集群是第一次启动请用当前配置,等其他节点启动起来后将下面两行的注释对换重启本节点就OK
wsrep_cluster_address="gcomm://"
#wsrep_cluster_address="gcomm://10.4.90.90,10.4.90.91" #协议地址来访问集群中的节点,默认端口 4567 mariadb-galera启动后可以查看4567是否启动
wsrep_cluster_name='cluster1' #为使用中的集群指定名称
wsrep_node_address='10.4.90.90' #同步节点的地址 每个节点配置为自己的IP
wsrep_node_name='db1' #同步节点的名字 写本机节点名字
wsrep_sst_method=rsync #指定SST方式,支持RSYNC(最快,需要表锁)一种执行初始状态传输的方法。如果不指定的话,默认值是mysqldump,推荐设置为rsync或xtrabackup。
wsrep_sst_auth=cluster:lookback #同步时候用的用户和密码

yum安装mariadb-galera同步的更多相关文章

  1. ECS——CentOS7下使用yum安装MariaDB

    CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL.MariaDB数据库管理系统是MySQL的一个分 ...

  2. CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...

  3. Centos 使用YUM安装MariaDB

    1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azureuser@mono etc]$ cd /etc/yum.repos.d [azureuser@mo ...

  4. CentOS7下使用yum安装MariaDB

    从CentOS 7开始,使用 MariaDB 替代默认的 MySQL.MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MyS ...

  5. Centos6下使用yum安装MariaDB

    1)增加mariaDB的yum源 1 2 3 4 5 6 7 8 9 [root@centos6-test08 ~]# cd /etc/yum.repos.d/ [root@centos6-test0 ...

  6. CentOS通过yum安装MariaDB(MySQL)无法启动服务或者找不到mysql.sock

    转载自:http://www.linuxidc.com/Linux/2016-03/129396.htm 今天在Linux主机(CentOS 7)安装(yum install方式)Mariadb(即开 ...

  7. centos6下yum安装mariadb数据库的解决方法

    在centos6下Yum安装mariadb数据库时老是提示无法正常安装,看错误日志才发现,是没有mariadb release源文件在/etc/yum.repos.d/中,为此,我特意在新建文件: # ...

  8. Centos7.4 yum 安装MariaDB

    #系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tunavim /etc/yum.repos.d/MariaDB ...

  9. Centos7 使用yum安装MariaDB与MariaDB的简单配置与使用

    一.mariadb的安装 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜 ...

  10. ContOS8 使用yum安装MariaDB

    首先全部删除MySQL/MariaDB(若是首次安装可根据需要跳过此步) 若不清楚MySQL和MariaDB的关系请移步至 Mariadb百科 1.查看系统版本(以下任一命令即可). # cat /p ...

随机推荐

  1. oracle 查看表空间,及大小,利用率

    selectb.file_name 物理文件名,b.tablespace_name 表空间,b.bytes/1024/1024 大小M,(b.bytes-sum(nvl(a.bytes,0)))/10 ...

  2. python爬虫url带中文解决方案之一

    import urllib2 urllib2.quote("呵呵哒") #输出 '%BA%C7%BA%C7%DF%D5'

  3. 移动端为何不使用click而模拟tap事件及解决方案

    移动端click会遇到2个问题,click会有200-300ms的延迟,同时click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件. 为什么会存在延迟? Google开发者文档中有提到: ...

  4. 中点Bresenham画圆

    这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步. 算法步骤: (1) 输入圆的半径R. (2) 计算初始值d = 1 - ...

  5. .Net Core 2.0生态(4):Entity Framework Core 2.0 特性介绍和使用指南

    前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...

  6. JAVA对XML文件的读写(有具体的代码和解析

    XML 指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享. xml指令 处理指令, ...

  7. 理解angularJs中的$on,$broadcast,$emit

    $emit作用是将一个事件从子作用域广播至父作用域,直至根作用域.(包括自己) $emit有两个参数name和args,name就是需要广播的名字,args是一个或者多个参数. $broadcast的 ...

  8. CSS小随笔(三)浮动与定位

    先来说一下CSS中的浮动 一.浮动 1.标准流中的块级盒子,宽度将自动伸展为100%,而浮动的块级盒子,宽度不会自动伸展,而是由内容撑开 2.当一个盒子浮动,标准流中未浮动的其他盒子,将视浮动盒子不存 ...

  9. CNAME关联githubPage域名及中文域名,创建个人网站

    对于前端开发来说,部署一个自己的个人网站部署服务器等比较麻烦,如果只是做静态页面的展示GitHubPage完全够用,而且有300M免费的空间,完全满足需求. 首先你要有GitHubPage项目,具体怎 ...

  10. BotVS开发基础—2.1 账户、行情、K线、深度

    代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...