(注意:
(1)文中红色字体部分不一定需要操作
(2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!!
)
一 搭建环境:
1 Ubuntu16.04版本(系统登录:root(199077))
2 mysql5.7(用户名root 密码199077)
二 安装环境:
首先,不论是在云服务器、物理机还是虚拟机上,至少需要3台主机(我们将这三台主机称为“Nodes”),对于每一个”Node”,硬件最低配置要求为:
- 1GHz单核CPU
- 512M的内存
- 100Mbps的网络连接
- 三台主机IP为:
- Node1: 192.168.93.135(主节点)
- Node2: 192.168.93.132(从节点1)
- Node3: 192.168.93.134(从节点2)
其次要禁用SElinux、防火墙配置、禁用AppArmor,
这些在Ubuntu14.04下都是不用配置的,所以就不详细说明配置步骤。但在16.04环境下需严格配置:
(1)禁用SELinux的mysqld
如果你启用了SELinux,它可能会阻止 mysqld从执行所需的操作。你必须禁用SELinux mysqld或允许配置它 mysqld上运行外部程序和开放的监听套接字端口外,非特权用户可以做的事情。
禁用SELinux mysql运行以下命令:
semanage permissive -a mysqld_t
(2)防火墙配置:我们需要在每个节点上设置其防火墙规则,使得各个节点能与集群通信。在每个节点上均执行如下命令:
iptables --append INPUT --protocol tcp \
--source 192.168.93.135 --jump ACCEPT
iptables --apend INPUT --protocol tcp \
--source 192.168.93.132 --jump ACCEPT
iptables --append INPUT --protocol tcp \
--source 192.168.93.134 --jump ACCEPT
然后保存防火墙规则:
iptables-save
(3)禁用Ubuntu的apparmor:apparmor主要是Ubuntu系统中对mysql访问权限的控制,我们必须禁用AppArmor,以便配置mysql的mysqld能够运行外部程序。
禁用apparmor:
sudo ln -s /etc/apparmor.d/usr /etc/apparmor.d/disable/.sbin.mysqld
重启apparmor:
sudo service apparmor restart
注:如果不禁用,则在登录mysql时会出现如下错误:
apparmor="DENIED" operation="open" ........
对应解决方案:
第一种:依次执行如下命令:
apt install apparmor-utils
sudo aa-complain/etc/apparmor.d/usr.sbin.mysqld
service apparmor restart
第二种:直接修改apparmor配置文件
nano /etc/apparmor.d/usr.sbin.mysqld
在配置文件中增加”flags=(complain)”
/usr/sbin/mysqld flags=(complain) {
#include
#include
#include
#include
........
三 开始安装
(1)安装对应依赖
apt-get install python-software-properties
apt-get install software-properties-common
(2)添加GunPG key
apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA
(3)配置Ubuntu下galera源
创建galera.list文件:
cd /etc/apt/sources.list.d
touch galera.list
nano -w galera.list
在galera.list中添加内容:
#deb http://releases.galeracluster.com/mysql-wsrep-5.7/ubuntu xenial main
#deb http://releases.galeracluster.com/galera-3/ubuntu xenial main
deb http://releases.galeracluster.com/ubuntu xenial main
如果不清楚自己的U