MySQL集群搭建--多主模式

本文使用的是Galera搭建的MYSQL集群,实现的是每个MYSQL都是主服务器,不存在主从之分。

环境:

三台mysql5.7服务器。

安装mysql集群:

安装前准备:

# echo ‘192.168.1.2 mysql1’ >>/etc/hosts

# echo ‘192.168.1.4 mysql2’>>/etc/hosts

# echo ‘192.168.1.7 mysql3’ >>/etc/hosts

# echo 'net.ipv4.tcp_tw_recycle = 1' >>/etc/sysctl.conf

# echo 'net.ipv4.tcp_tw_recycle = 1' >>/etc/sysctl.conf

# sysctl -p

常规安装mysql5.7步骤(集群不可以使用这个方法):

先从官网下载一个mysql5.7的捆绑包,然后解压。

# tar -xvf mysql-5.7.22-1.el6.x86_64.rpm-bundle.tar

# yum -y install mysql-community-common-5.7.22-1.el6.x86_64.rpm

# yum -y install mysql-community-libs-5.7.22-1.el6.x86_64.rpm

# yum -y install mysql-community-client-5.7.22-1.el6.x86_64.rpm

# yum -y install mysql-community-server-5.7.22-1.el6.x86_64.rpm

启动服务:

# service mysqld start

Mysql5.7版本默认会自动为‘root@localhost’生成一个临时密码,这个密码存在mysql的错误日志文件中(/var/log/mysqld.log)。取出密码:

# grep 'temporary password' /var/log/mysqld.log

2018-05-02T14:08:24.018468Z 1 [Note] A temporary password is generated for root@localhost: gqS*Tpo-8I)K

参考官网:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html

登录并修改密码:

# mysql -uroot -p

Mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

Mysql集群安装:

下载mysql补丁包(http://releases.galeracluster.com/mysql-wsrep-5.7.21-25.14/centos/6/x86_64/)。

下载Galera安装包

(http://releases.galeracluster.com/galera-3/centos/6/x86_64/)

查看之前是否有mysql存在,如果存在卸载即可。

# rpm -qa|grep mysql

# yum remove mysql-libs*

安装mysql补丁包:

# yum install mysql-wsrep-common-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install mysql-wsrep-devel-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install mysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install mysql-wsrep-libs-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install mysql-wsrep-client-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install mysql-wsrep-server-5.7-5.7.21-25.14.el6.x86_64.rpm

# yum install galera-3-25.3.23-2.el6.x86_64.rpm

启动mysql

# service mysqld start

# ps -ef|grep mysql

查询mysql的初始密码:

# cat /var/log/mysqld.log|grep ‘temporary password’

修改密码:

# mysql -uroot -p

Mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1qaz!QAZ';

Mysql>grant all PRIVILEGES on *.* to myroot@'%' identified by '123456';#创建新用户

Mysql> FLUSH PRIVILEGES;

# service mysqld stop

配置/etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

binlog_format=ROW

bind-address=0.0.0.0

default_storage_engine=innodb

innodb_autoinc_lock_mode=2

innodb_flush_log_at_trx_commit=0

wsrep_cluster_name=MyCLuster #你的cluster名,每台机器上的要相同

wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so #不同版本这个路径可能不同,需要自行确定  安装galera后会生成这个lib文件

wsrep_cluster_address="gcomm://" #第一台机器需要这样配置

#wsrep_cluster_address="gcomm://192.168.1.2,192.168.1.4,192.168.1.7" #其他集群机器需要配置同步源路径

wsrep_node_name=node1  #当前机器的节点名

wsrep_node_address=192.168.1.12 #当前机器ip

wsrep_sst_method=rsync #同步方式

wsrep_sst_auth=myroot:2wsx@WSX

[mysql_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

启动第一台机器:

# service mysqld start --wsrep-new-cluster

其中--wsrep-new-cluster只要在初始化集群的时候才能用,后面服务重启都不要用,这时候可以查看集群状态了:

# mysql -uroot -p

mysql>  "show status like 'wsrep_%'"

| wsrep_incoming_addresses     | 192.168.1.2:3306 |

| wsrep_cluster_size           | 3                   |

启动其他节点:

# service mysqld start

再次查看集群信息:

# mysql -uroot -p -e  "show status like 'wsrep_%'"

这样整个集群就好了,测试在任意节点上建一个库,在其他节点上查看,能正常同步到其他节点。

参考链接(http://galeracluster.com/documentation-webpages/startingcluster.html)

转载于:https://blog.51cto.com/dianel/2150738

MySQL集群搭建--多主模式相关推荐

  1. Redis 主从集群搭建及哨兵模式配置

    Redis 主从集群搭建及哨兵模式配置 最近搭建了redis集群及哨兵模式,为方便以后查看特此记录下来: 1.Redis安装 2.主从架构 2.1 Redis主从架构图 2.2Redis主从结构搭建 ...

  2. mysql集群搭建(使用docker 一主一从)

    mysql集群搭建 my.cnf 配置文件配置 在 /etc/mysql/my.cnf 中 (拿一个举例) (docker中需要先进入开启的容器,docker exec -it 容器名称 /bin/b ...

  3. mysql集群搭建教程-mysql+windows篇

    张哥视频课:https://edu.csdn.net/course/play/7912 搭建MySQL集群,首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及 ...

  4. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  5. windows+mysql集群搭建-三分钟搞定集群

    一.集群了解 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解 ...

  6. MySQL 学习 - Replication集群 - 搭建 - 双主双从

    前言 我们这里说的是双主双从集群搭建,当然这个是看你实际业务,说白了一点 两个主节点双向同步,A集群挂掉时,B集群因为双向同步,立即可以开始工作,实现高可用 基本原理 具体流程 主库将变更写入到主库的 ...

  7. redis入门及其集群搭建、哨兵模式

    一.Nosql概述 1.为什么要用Nosql 1.1 单机 MySQL 的美好时代 来源博客(https://www.cnblogs.com/lukelook/p/11135209.html) 在90 ...

  8. mysql集群搭建及性能调优之一(集群搭建)

    本文讲解mysql的集群搭建 文章目录 1. docker安装并启动三台mysql 2. 创建基础库并设置可访问用户 3. 主从配置 3.1 主服务器配置 3.2 从服务器配置 1. docker安装 ...

  9. mysql集群搭建与总结

    文章目录 1. 主从复制集群 1.1 搭建主从复制 1.2 主从复制验证 1.3 主从数据不一致的解决方案(pt-table-sync) 1.4 主从复制的原理 2. 主主复制集群 3.pxc集群 3 ...

最新文章

  1. 比杠精网友更可怕的,是懂王同事
  2. 关于SpringBoot 1.x和2.x版本差别
  3. 1013 数素数 (20 分)(c语言)
  4. P3178 [HAOI2015]树上操作
  5. php reflectionmethod,PHP ReflectionMethod getClosure()用法及代码示例
  6. 一个符合SEO优化标准的网站应具备哪些特征?
  7. Android 帧动画 xml 方式实现
  8. 干掉勒索病毒的22岁程序员自曝黑历史:中学是电脑白痴
  9. python和jsp交互_Servlet与JSP进阶
  10. 2D动作游戏开发与实现(翻译) .
  11. np.random.choice的用法
  12. 做工作流时候 Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1
  13. FastSocket学习笔记~再说客户端与服务端的组成
  14. linux备份系统iso,将Linux系统转换为ISO镜像文件以实现备份
  15. 如何用Java构建json对象
  16. 利用DDS IP实现线性调频信号(二)
  17. 贪吃蛇php代码下载,C语言贪吃蛇代码
  18. 华为鸿蒙系统支持什么手机_华为手机鸿蒙系统支持所有华为手机吗
  19. HTML表格——使用CSS冻结行和列
  20. 【人在运维囧途_14】打扫干净屋子再请客

热门文章

  1. 激活层是每一层都有吗_89小户型复式这样装,每一层都设计得很棒,完工后秒变小区样板间,邻居前来取经...
  2. Python(10):类
  3. for..in..遍历循环的简写模式
  4. 【spring data jpa】spring data jpa 中的update 更新字段,如果原字段值为null不处理,不为null则在原来的值上加一段字符串...
  5. Logback 专题
  6. freebsd镜像作用和vmware服务开启
  7. 课堂练习-买书价格最低
  8. IOS开发之coreData
  9. iOS 支付宝支付集成获取私钥
  10. SQL --分支取数据