MariaDBGalera集群安装配置
- 环境要求
- 系统:Ubuntu-12.04.1
- 数据库:Mariadb-galera-10.0.12
- 集群工具:Galera-25.3.5
- 安装MariaDB
- 安装Ubuntu-12.04.1
- 安装Mariadb-galera-10.0.12
- 下载安装包
下载地址:https://downloads.mariadb.org/mariadb-galera/10.0.12/
选择版本:32位系统选择mariadb-galera-10.0.12-linux-i686.tar.gz,64位系统选择mariadb-galera-10.0.12-linux-x86_64.tar.gz
将下载的安装包放在/usr/local目录下
- 安装MariaDB
- 打开终端
- groupadd mysql//添加mysql用户组
- useradd –r –g mysql mysql//添加mysql用户
- cd /usr/local//进入安装包所在目录
- tar zxvf mariadb-galera-10.0.12-linux-i686.tar.gz //解压
- mv mariadb-galera-10.0.12-linux-i686 mysql//创建软链接
- cd mysql//进入mysql目录
- chown -R mysql .
- chgrp -R mysql .
- scripts/mysql_install_db --user=mysql
- chown -R root .
- chown -R mysql data
- cp support-files/my-medium.cnf /etc/my.cnf
- cp support-files/mysql.server /etc/init.d/mysql.server
- export PATH=$PATH:/usr/local/mysql/bin/
- bin/mysqld_safe --user=mysql &//启动数据库
至此数据库已经安装完成。由于本人每次安装时都已经先安装了py,所以不确定是否一定要先安装py,如果无法安装请先安装py(2.5及以是版本)。安装方式:sudo apt-get install python-software-properties
如果不确定系统是否已打开数据库所需端口请执行以下操作:
#iptables-AINPUT-ieth0-ptcp--dport3306-jACCEPT
#iptables-AINPUT-ieth0-ptcp--dport4567-jACCEPT
- 修改Root密码及添加集群所需账号
上面我们已经安装并启动了数据库,root用户默认密码为空,建议修改密码增加安全性。
/usr/local/mysql/bin/mysql –u root –p//进入mysql
随后会要求输入密码,空密码回车即可。
Use mysql;
Update user set password=password(‘root’) where user = ‘root’;//修改root密码
GRANT ALL PRIVILEGES ON *.* TO 'locker99'@'%' IDENTIFIED BY 'locker99';//添加集群远程访问账号。%表示locker99账号可以任意ip访问数据库。
FLUSH PRIVILEGES;//刷新
以上内容修改后需重启mysql服务生效。
- 修改默认字符集
修改my.cnf配置文件。
[client]下面添加default-character-set=utf8
[mysqld]下面添加character-set-server=utf8
数据库和客户端连接默认字符集都改成utf8。
- Galera源码编译
- 下载galera源码
下载页面:https://launchpad.net/galera/
下载地址:
https://launchpad.net/galera/3.x/25.3.5/+download/galera-25.3.5-src.tar.gz
- 编译galera源码
先安装编译源码所需程序:
sudo apt-get install scons
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install check
sudo apt-get install build-essential
sudo apt-get install libboost-dev
sudo apt-get install libboost-program-options-dev
如果之前未安装py请先安装py,安装方法在之前的内容里面找。然后用tar zxvf 命令解压源码包,进入源码包的根目录执行scons即可以根目录下生成libgalera_smm.so文件。后面将会用到该文件。
- 配置集群
在mysql的support-files文件夹下有个wsrep.cnf文件,文件是集群的配置文件。你可以将该文件复制到/etc/my.cnf.d/目录下然后在my.cnf配置文件中引用该目录(my.cnf文件中添加!includedir/etc/my.cnf.d/)。也可以复制该文件内容到my.cnf文件中。注意两配置文件中有同名属性,只有后面的属性会生效。例如binlog_format属性同时在my.cnf和wsrep.cnf文件中都有,而我是在my.cnf文件开头引用的wsrep.cnf,所以my.cnf中的binlog_format属性把wsrep.cnf属性覆盖了。
我们需要修改的属性:
binlog_format=ROW//我的不设置为ROW会报错
#bind-address=0.0.0.0//最好注释该属性,如果你绑定了ip,其它ip将无法访问本数据库
wsrep_provider=/usr/lib/galera/libgalera_smm.so//该属性设置galera库
wsrep_cluster_address=”gcomm://192.168.0.156”//第一台启动的数据库不用写ip地址,后面启动的写之前已经启动的数据库ip,一个或多个ip都可以
wsrep_sst_auth=locker99:locker99//这里是之前创建的账号和密码
wsrep_sst_receive_address=192.168.0.157//该ip地址是接收数据的ip地址,默认是本机ip。由与我的是虚拟机,所以这里必需写物理机的ip地址,同时虚拟机工具需要做端口转发
所有集群的wsrep_cluster_name属性必需一样,否则不能加入集群。
其它的参数说明请自行在网上查找。以上配置只是能让集群成功运行,并没有优化,因为我也还不知道如何优化。
查看集群状态:
连接任意集群节点,输入:show status like ‘wsrep_%’;
wsrep_ready为ON,则说明MariaDBGalera集群已经正确运行了。wsrep_cluster_size标明了组成集群的节点个数