MariaDB集群配置
2016-06-24 20:55
651 查看
0.双节点集群,IP分别为:
HostA :172.18.48.3
HostB : 172.18.48.4
本地进行/etc/hosts解析。
1.添加源
deb http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/debian wheezy main
deb-src http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/debian wheezy main
apt-get update
2.安装mariadb和galera包
# apt-get install -y rsync galera mariadb-galera-server
3.修改配置文件
# emacs /etc/mysql/my.cnf
bind-address = 0.0.0.0
skip-name-resolve
4.配置galera cluster
在每个节点新增/etc/mysql/conf.d/galera.cnf文件:
--------------------------------------------------------
[mysqld]
#mysql settings
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0
#galera settings
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="my_wsrep_cluster"
wsrep_cluster_address="gcomm://172.18.48.3,172.18.48.4"
wsrep_sst_method=rsync
##集群节点IP,主主模式,相互镜像,可以添加多个IP地址
---------------------------------------------------------
4.galera01和galera02关闭mysql
HostA: service mysql stop
HostB: service mysql stop
5.启动集群,第一个启动的节点要加上集群初始化命令,相当于主节点
HostA: service mysql start --wsrep-new-cluster
HostB: service mysql start
6.检查集群规模
HostA: mysql -u root -e 'SELECT VARIABLE_VALUE as "cluster size" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="wsrep_cluster_size"' -p
+————–+
| cluster size |
+————–+
| 2 |
+————–+
7.在HostA上创建数据库,并授权允许远程访问
mysql>create database nova;
mysql>GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';
8.galera的弹性和容灾
添加新节点时候直接重启服务即可,galera节点必须有一个主节点,即执行如下语句的节点:
service mysql start --wsrep-new-cluster
9.galera的使用注意:
galera集群内部节点使用双主模式,每个节点都能对外提供服务,数据在故障节点恢复后能够自动同步数据,无需人工干预,
同时为了保证对外服务高可用,可以使用heartbeat或者haproxy+keepalive的方式来实现HA.
10.出现错误时解决
# 如果我们在主主中关闭某台服务器时出现以下错误
[FAIL] Stopping MariaDB database server: mysqld failed!
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
此原因是因为在/etc/mysql/debian.cnf中配置有这个用户debian-sys-maint
我们只需要在主服器上复制/etc/mysql/debian.cnf到其它服务器中,保持文件一致即可
# scp /etc/mysql/debian.cnf 172.18.48.4:/etc/mysql/
11、Maridb Crash时的数据恢复:
请参考:https://www.percona.com/blog/2014/09/01/galera-replication-how-to-recover-a-pxc-cluster/?utm_source=tuicool
HostA :172.18.48.3
HostB : 172.18.48.4
本地进行/etc/hosts解析。
1.添加源
deb http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/debian wheezy main
deb-src http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/debian wheezy main
apt-get update
2.安装mariadb和galera包
# apt-get install -y rsync galera mariadb-galera-server
3.修改配置文件
# emacs /etc/mysql/my.cnf
bind-address = 0.0.0.0
skip-name-resolve
4.配置galera cluster
在每个节点新增/etc/mysql/conf.d/galera.cnf文件:
--------------------------------------------------------
[mysqld]
#mysql settings
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0
#galera settings
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="my_wsrep_cluster"
wsrep_cluster_address="gcomm://172.18.48.3,172.18.48.4"
wsrep_sst_method=rsync
##集群节点IP,主主模式,相互镜像,可以添加多个IP地址
---------------------------------------------------------
4.galera01和galera02关闭mysql
HostA: service mysql stop
HostB: service mysql stop
5.启动集群,第一个启动的节点要加上集群初始化命令,相当于主节点
HostA: service mysql start --wsrep-new-cluster
HostB: service mysql start
6.检查集群规模
HostA: mysql -u root -e 'SELECT VARIABLE_VALUE as "cluster size" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="wsrep_cluster_size"' -p
+————–+
| cluster size |
+————–+
| 2 |
+————–+
7.在HostA上创建数据库,并授权允许远程访问
mysql>create database nova;
mysql>GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';
8.galera的弹性和容灾
添加新节点时候直接重启服务即可,galera节点必须有一个主节点,即执行如下语句的节点:
service mysql start --wsrep-new-cluster
9.galera的使用注意:
galera集群内部节点使用双主模式,每个节点都能对外提供服务,数据在故障节点恢复后能够自动同步数据,无需人工干预,
同时为了保证对外服务高可用,可以使用heartbeat或者haproxy+keepalive的方式来实现HA.
10.出现错误时解决
# 如果我们在主主中关闭某台服务器时出现以下错误
[FAIL] Stopping MariaDB database server: mysqld failed!
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
此原因是因为在/etc/mysql/debian.cnf中配置有这个用户debian-sys-maint
我们只需要在主服器上复制/etc/mysql/debian.cnf到其它服务器中,保持文件一致即可
# scp /etc/mysql/debian.cnf 172.18.48.4:/etc/mysql/
11、Maridb Crash时的数据恢复:
请参考:https://www.percona.com/blog/2014/09/01/galera-replication-how-to-recover-a-pxc-cluster/?utm_source=tuicool
相关文章推荐
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- MySQL的集群配置的基本命令使用及一次操作过程实录
- MySQL slave_net_timeout参数解决的一个集群问题案例
- Redis 集群搭建和简单使用教程
- Windows Server 2003 下配置 MySQL 集群(Cluster)教程
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- 用apache和tomcat搭建集群(负载均衡)
- Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置
- Hadoop单机版和全分布式(集群)安装
- java结合HADOOP集群文件上传下载
- Spring3.2.0和Quartz1.8.6集群配置
- (Weblogic Portal 9.2.3集群)Oracle数据库初始化报PF_MARKUP...
- HBase基本原理
- HDFS DatanodeProtocol——sendHeartbeat
- HDFS DatanodeProtocol——register
- Hadoop集群提交作业问题总结
- Hadoop源码分析 HDFS ClientProtocol——addBlock
- Hadoop源码分析HDFS ClientProtocol——create