1. 1.准备阶段
  2. 1.1 在三个节点上分别创建:用户组 用户组 目录
  3. --用户组 用户组
  4. #/usr/sbin/groupadd mysql
  5. #/usr/sbin/useradd -g mysql mysql
  6.  
  7. --目录
  8. #mkdir –p /usr/local/mysql
  9. #chown -R mysql:mysql /usr/local/mysql
  10. #chmod -R 755 /usr/local/mysql
  11.  
  12. #mkdir -p /mysql/3306/{data,redo,binlog,tmp,logs}
  13. #chown -R mysql:mysql /mysql
  14. #chmod -R 755 /mysql
  15.  
  16. 1.2 修改内核参数
  17. 切换到root用户
  18. [root@DBMysql2 ~]# vi /etc/security/limits.conf
  19. mysql soft nproc 65535
  20. mysql hard nproc 65535
  21. mysql soft nofile 65535
  22. mysql hard nofile 65535
  23. [root@node1 ~]#
  24.  
  25. 2.开始部署
  26. 2.1 三个节点分别安装依赖包:
  27. yum -y install percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
  28. yum -y install
  29.  
  30. 2.2 解压Percona-XtraDB-Cluster
  31. mysql用户下,将压缩包(Percona-XtraDB-Cluster-5.7.23-rel23-31.31.2.Linux.x86_64.ssl101.tar)解压到 /usr/local/mysql
  32. [mysql@node1 mysql]$ pwd
  33. /usr/local/mysql
  34. [mysql@node1 mysql]$ ls -l
  35. 总用量 88
  36. drwxrwxr-x. 2 mysql mysql 4096 12 19 14:28 bin
  37. -rw-rw-r--. 1 mysql mysql 17987 12 19 14:31 COPYING
  38. -rw-rw-r--. 1 mysql mysql 1703 12 19 14:31 COPYING-jemalloc
  39. -rw-rw-r--. 1 mysql mysql 17987 12 19 14:31 COPYING-test
  40. drwxrwxr-x. 2 mysql mysql 55 12 19 14:28 docs
  41. drwxrwxr-x. 3 mysql mysql 4096 12 19 14:28 include
  42. drwxrwxr-x. 4 mysql mysql 228 12 19 14:28 lib
  43. drwxrwxr-x. 4 mysql mysql 30 12 19 14:28 man
  44. drwxrwxr-x. 10 mysql mysql 4096 12 19 14:31 mysql-test
  45. drwxrwxr-x. 5 mysql mysql 50 12 19 14:31 percona-xtradb-cluster-tests
  46. -rw-rw-r--. 1 mysql mysql 2478 12 19 14:31 README.MySQL
  47. -rw-rw-r--. 1 mysql mysql 444 12 19 14:31 README-test
  48. -rw-rw-r--. 1 mysql mysql 19626 12 19 14:31 README-wsrep
  49. drwxrwxr-x. 28 mysql mysql 4096 12 19 14:31 share
  50. drwxrwxr-x. 2 mysql mysql 110 12 19 14:31 support-files
  51. drwxrwxr-x. 2 mysql mysql 22 12 19 14:31 xinetd.d
  52. [mysql@node1 mysql]$
  53.  
  54. 2.3 创建my.cnf配置文件(只截取pxc部分)
  55. #pxc
  56. server_id = 1
  57. wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
  58. wsrep_cluster_name=pxc-mysql
  59. wsrep_cluster_address=gcomm://192.168.2.55,192.168.2.56,192.168.2.57
  60. wsrep_node_name=node1
  61. wsrep_node_address=192.168.2.55
  62. wsrep_sst_method=xtrabackup-v2
  63. wsrep_sst_auth=pxc:123456
  64. pxc_strict_mode=ENFORCING
  65. binlog_format=ROW
  66. default_storage_engine=InnoDB
  67. innodb_autoinc_lock_mode=2
  68.  
  69. 注意:
  70. 其他两个个节点,只需要修改:
  71. server-id=1 --id不能一样
  72. wsrep_node_name=node1 --改成自己节点的主机名
  73. wsrep_node_address=192.168.2.55 --改成自己节点的主机IP
  74.  
  75. 2.4 各个节点分别初始化数据库:
  76. ./mysqld --defaults-file=/mysql/3306/my.cnf --initialize
  77. ./mysqld --defaults-file=/mysql/3306/my.cnf --initialize
  78. ./mysqld --defaults-file=/mysql/3306/my.cnf --initialize
  79.  
  80. 2.5 启动节点node1
  81. ./mysqld_safe --defaults-file=/mysql/3306/my.cnf --wsrep-new-cluster &
  82.  
  83. 2.6 node1节点修改密码,创建复制用户
  84. --修改密码
  85. (root@localhost:mysql.sock) [(none)]>set password='123456';
  86. Query OK, 0 rows affected (0.32 sec)
  87. ---创建一个SST用户
  88. (root@localhost:mysql.sock) [(none)]>GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'pxc'@'%' IDENTIFIED BY '123456'; ---创建一个SST用户
  89.  
  90. 2.7 启动节点node2node3
  91. ./mysqld_safe --defaults-file=/mysql/3306/my.cnf --user=mysql &
  92. ./mysqld_safe --defaults-file=/mysql/3306/my.cnf --user=mysql &
  93.  
  94. 3、验证集群
  95. --节点node1
  96. (root@localhost:mysql.sock) [(none)]>show status like 'wsrep_cluster_%';
  97. +--------------------------+--------------------------------------+
  98. | Variable_name | Value |
  99. +--------------------------+--------------------------------------+
  100. | wsrep_cluster_weight | 3 |
  101. | wsrep_cluster_conf_id | 3 | --表示3个节点
  102. | wsrep_cluster_size | 3 |
  103. | wsrep_cluster_state_uuid | 1814041e-0365-11e9-9a41-53781b688bfb |
  104. | wsrep_cluster_status | Primary |
  105. +--------------------------+--------------------------------------+
  106. 5 rows in set (0.00 sec)
  107.  
  108. (root@localhost:mysql.sock) [(none)]>
  109.  
  110. --任意一个节点执行创建数据库操作,看其他节点是否同步
  111. PXC-01
  112. (root@localhost:mysql.sock) [(none)]>> create database pxc01; #注意查看其他节点是否同步
  113. PXC-02
  114. (root@localhost:mysql.sock) [(none)]>> create database pxc02; #注意查看其他节点是否同步
  115. PXC-03
  116. (root@localhost:mysql.sock) [(none)]>> create database pxc03; #注意查看其他节点是否同步
  117.  
  118. 停止数据库:
  119. --最后停主节点
  120. ./mysqladmin --defaults-file=/mysql/3306/my.cnf -uroot -p123456 -hlocalhost shutdown
  121.  
  122. 4.部署期间遇到的问题:
  123.  
  124. --关闭防火墙:systemctl stop firewalld
  125. 2018-12-19T08:44:46.598184Z 0 [Warning] WSREP: last inactive check more than PT1.5S (3*evs.inactive_check_period) ago (PT3.5271S), skipping check
  126. 2018-12-19T08:45:16.264325Z 0 [Note] WSREP: Current view of cluster as seen by this node
  127. view ((empty))
  128. 2018-12-19T08:45:16.266833Z 0 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view (pc.wait_prim_timeout): 110 (Connection timed out)
  129. at gcomm/src/pc.cpp:connect():159
  130. 2018-12-19T08:45:16.267665Z 0 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():209: Failed to open backend connection: -110 (Connection timed out)
  131. 2018-12-19T08:45:16.272534Z 0 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1514: Failed to open channel 'pxc-mysql' at 'gcomm://192.168.2.55,192.168.2.56,192.168.2.57': -110 (Connection timed out)
  132. 2018-12-19T08:45:16.272618Z 0 [ERROR] WSREP: gcs connect failed: Connection timed out
  133. 2018-12-19T08:45:16.272647Z 0 [ERROR] WSREP: Provider/Node (gcomm://192.168.2.55,192.168.2.56,192.168.2.57) failed to establish connection with cluster (reason: 7)
  134. 2018-12-19T08:45:16.272676Z 0 [ERROR] Aborting
  135.  
  136. 2018-12-19T08:45:16.272695Z 0 [Note] Giving 0 client threads a chance to die gracefully
  137. 2018-12-19T08:45:16.272723Z 0 [Note] WSREP: Waiting for active wsrep applier to exit
  138. 2018-12-19T08:45:16.272741Z 0 [Note] WSREP: Service disconnected.
  139. 2018-12-19T08:45:16.272756Z 0 [Note] WSREP: Waiting to close threads......
  140. 2018-12-19T08:45:21.274280Z 0 [Note] WSREP: Some threads may fail to exit.
  141. 2018-12-19T08:45:21.275314Z 0 [Note] Binlog end
  142. 2018-12-19T08:45:21.277021Z 0 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
  143.  
  144. --安装 percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
  145. 2018-12-20T05:53:59.541638Z 0 [Note] WSREP: Initiating SST/IST transfer on JOINER side (wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.2.56' --datadir '/my
  146. sql/3306/data/' --defaults-file '/mysql/3306/my.cnf' --defaults-group-suffix '' --parent '14448' --mysqld-version '5.7.23-23-31.31' '' )
  147. which: no xtrabackup in (/usr/sbin:/sbin:/usr/local/mysql/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mysql/.local/bin:/home/mysql/bin)
  148. 2018-12-20T05:53:59.695991Z WSREP_SST: [ERROR] ******************* FATAL ERROR **********************
  149. 2018-12-20T05:53:59.700710Z WSREP_SST: [ERROR] xtrabackup not in path: /usr/sbin:/sbin:/usr/local/mysql/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/s
  150. bin:/home/mysql/.local/bin:/home/mysql/bin
  151. 2018-12-20T05:53:59.705288Z WSREP_SST: [ERROR] ******************************************************
  152. 2018-12-20T05:53:59.708133Z 0 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.2.56' --datadir '/mysql/330
  153. 6/data/' --defaults-file '/mysql/3306/my.cnf' --defaults-group-suffix '' --parent '14448' --mysqld-version '5.7.23-23-31.31' ''
  154. Read: '(null)'
  155. 2018-12-20T05:53:59.708181Z 0 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.2.56' --datadir '/mysql/3306/data
  156. /' --defaults-file '/mysql/3306/my.cnf' --defaults-group-suffix '' --parent '14448' --mysqld-version '5.7.23-23-31.31' '' : 2 (No such file or directory)
  157. 2018-12-20T05:53:59.708302Z 2 [ERROR] WSREP: Failed to prepare for 'xtrabackup-v2' SST. Unrecoverable.
  158. 2018-12-20T05:53:59.708333Z 2 [ERROR] Aborting
  159.  
  160. ---主节点忘记安装:percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
  161. 2018-12-20T07:27:52.624492Z 2 [Note] WSREP: Requesting state transfer: success, donor: 0
  162. 2018-12-20T07:27:52.624544Z 2 [Note] WSREP: GCache history reset: 00000000-0000-0000-0000-000000000000:0 -> 1814041e-0365-11e9-9a41-53781b688bfb:3
  163. 2018-12-20T07:27:52.769911Z 0 [Warning] WSREP: 0.0 (node1): State transfer to 1.0 (node2) failed: -2 (No such file or directory)
  164. 2018-12-20T07:27:52.769950Z 0 [ERROR] WSREP: gcs/src/gcs_group.cpp:gcs_group_handle_join_msg():766: Will never receive state. Need to abort.
  165. 2018-12-20T07:27:52.770158Z 0 [Note] WSREP: gcomm: terminating thread
  166. 2018-12-20T07:27:52.770181Z 0 [Note] WSREP: gcomm: joining thread

PXC 57 二进制安装的更多相关文章

  1. centos 7.3二进制安装mariadb10.2.8完美步骤

    (1)在centos7系统上,yum info mariadb可以找到提供mariadb包的官方网站,在到官方网站下载最新的mariadb包,然后rz到linux系统上去 (2)准备用户 1.user ...

  2. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

  3. ubuntu14.04下简易二进制安装mysql

    下载mysql-commnunity的5.6.24通用二进制版 tar解压 我安装到/opt目录,所以mv到/opt/ 可选,建了个软链 ln -s *** mysql 添加运行mysql服务的用户和 ...

  4. mysql5.6 通用二进制安装

    mysql5.6 通用二进制安装: #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install ...

  5. CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方

    CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方 ...

  6. CentOS6+MySQL5.6二进制安装

    一般我们安装mysql采用二进制安装的方式就足以满足我们的生产环境了,不过需要我们配置my.cnf文件 从官网下载二进制MySQL,选择Linux-Generic,最后这两个是二进制包 http:// ...

  7. Mysql的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  8. Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤

    首先,介绍一下MySQL的几种安装方式 1.RPM.Yum 的安装方式:安装方便.安装速度快,无法定制 2.二进制:不需要安装,解压即可使用,不能定制功能 3.编译安装:可定制,安装慢. 编译安装中需 ...

  9. 二进制安装 mariadb

    默认路径安装MySQL,Mariadb 非常简单,解压,配置权限,修改配置文件基本即可使用:自定义安装稍微有点麻烦,需要修改的地方稍微多点: 下面详细介绍自定义目录,二进制安装mariadb, 使用传 ...

随机推荐

  1. Django深度剖析

    启动过程 通过命令行执行 python manage.py runserver 127.0.0.1:8000 启动Django服务 manage.py模块获取到命令行参数manage.py runse ...

  2. hdu6026 Deleting Edges(Dijkstra+思路)

    https://vjudge.net/problem/HDU-6026 我一直想不明白的是,它的乘法是如何保证n-1条边的.后来画了一张图大概能明白了. 结合最后的乘法二层循环的代码来看,当i=4的时 ...

  3. django之MTV模型(urls,view)

    今天就进入到python最重要的阶段了django框架,框架就像胶水一样会将我们前面学的所有知识点粘合在一起,所以以前有哪些部分模糊的可以看看前面的随笔.本篇主要介绍djangoMTV模型,视图层之路 ...

  4. 数据可视化Echarts-实例

    数据可视化 Echarts 百度 数据可视化 hightCharts 1 数据可视化 D3 老外 -----------------------------当遇到个啥玩意儿,Echarts .high ...

  5. pygame-KidsCanCode系列jumpy-part4-弹跳

    终于要到弹跳环节了,向上弹跳其实很简单,按下空格触发时,只要把y轴速度给一个向上的速度即可. Player类,新加一个jump()方法: def jump(self): self.vel.y = -2 ...

  6. Amazon Publisher Studio让产品推广更简单

    Amazon联盟最近推出了Publisher Studio新功能,只要在Amazon联盟网站后台添加一段特定的代码,以后推广所有Amazon产品的时候就不需要再访问Amazon Associates网 ...

  7. 本机ip、127.0.0.1和0.0.0.0区别及内环流量

    本机ip.127.0.0.1和0.0.0.0区别及内环流量 所谓内环流量 简单的说是指 计算机内部,程序间通讯产生的流量,或者叫 本地流量,对应的是来自网络的流量. 比如,你安装了卡巴斯基,avast ...

  8. How do I remove a particular element from an array in JavaScript?

    9090down voteaccepted Find the index of the array element you want to remove, then remove that index ...

  9. WPF中,输入完密码回车提交 ,回车触发按钮点击事件

    类似与winform中窗体的AcceptButton属性,在wpf中,需要将按钮的IsDefault设置为true就行.

  10. 【Linux】关于ffmpeg的一些常见用法

    一.FFmpeg简介 FFmpeg是一款非常快速的视频和音频转换器, 是开源项目 FFmpeg (Fast Forward moving pictures expert group) 的命令行程序. ...