至少需要三个节点
- node1 192.168.150.137
- node2 192.168.150.138
- node3 192.168.150.139
mariadb 版本为 mariadb 的支持 galera cluster 的分支版本
- MariaDB-Galera-server-5.5.46
实验前准备:
- 1、HA环境首要条件:时间同步
- 三个节点添加对时脚本
- [root@localhost ~]# crontab -l
- */5 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org
- 2、三个几点均配置MariaDB-Galera的本地yum仓库,我尝试使用mariadb官方提供的yum仓库,天朝的网会气死你
- [root@localhost ~]# cat /etc/yum.repos.d/galera.repo
- [galera]
- name=galera
- baseurl=file:///root/galera_cluster
- gpgcheck=0
- enable=1
- 3、yum安装,仅需安装MariaDB-Galera-server,其余的均会依赖安装
- yum -y install Mariadb-Galera-server
- 1、查看galera所需调用的库的位置
- rpm -ql galera | grep -i smm.so
- /usr/lib64/galera/libgalera_smm.so
- 2、修改配置文件,三节点同步修改
- [root@localhost yum.repos.d]# cat /etc/my.cnf.d/server.cnf
- #
- # These groups are read by MariaDB server.
- # Use it for options that only the server (but not clients) should see
- #
- # See the examples of server my.cnf files in /usr/share/mysql/
- #
- # this is read by the standalone daemon and embedded servers
- [server]
- # this is only for the mysqld standalone daemon
- [mysqld]
- #
- # * Galera-related settings
- #
- [galera]
- # Mandatory settings
- wsrep_provider=/usr/lib64/galera/libgalera_smm.so
- wsrep_cluster_address="gcomm://192.168.150.137,192.168.150.138,192.168.150.139"
- binlog_format=row
- default_storage_engine=InnoDB
- innodb_autoinc_lock_mode=2
- bind-address=0.0.0.0
- wsrep_cluster_name='mycluster'
- #
- # Optional setting
- #wsrep_slave_threads=1
- #innodb_flush_log_at_trx_commit=0
- # this is only for embedded server
- [embedded]
- # This group is only read by MariaDB-5.5 servers.
- # If you use the same .cnf file for MariaDB of different versions,
- # use this group for options that older servers don't understand
- [mysqld-5.5]
- # These two groups are only read by MariaDB servers, not by MySQL.
- # If you use the same .cnf file for MySQL and MariaDB,
- # you can put MariaDB-only options here
- [mariadb]
- [mariadb-5.5]
- 3、节点1进行mysql及cluster开启
- [root@localhost ~]# /etc/rc.d/init.d/mysql start --wsrep-new-cluster
- Starting MySQL.... SUCCESS!
- 4、其它两个节点进行正常的mysql开启
- [root@localhost ~]# service mysql start
- Starting MySQL....SST in progress, setting sleep higher. SUCCESS!
- 此时已配置完成。。。。。。
- 1、节点1创建数据库,节点2 3均可正常查看
- 节点1:[root@localhost ~]# mysql
- Welcome to the MariaDB monitor. Commands end with ; or \g.
- Your MariaDB connection id is 4
- Server version: 5.5.46-MariaDB-wsrep MariaDB Server, wsrep_25.12.r4f81026
- Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- MariaDB [(none)]> CREATE DATABASE mydb;
- Query OK, 1 row affected (0.00 sec)
- MariaDB [(none)]> SHOW DATABASES;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mydb |
- | mysql |
- | performance_schema |
- | test |
- +--------------------+
- 节点2 3:
- [root@localhost ~]# mysql
- Welcome to the MariaDB monitor. Commands end with ; or \g.
- Your MariaDB connection id is 4
- Server version: 5.5.46-MariaDB-wsrep MariaDB Server, wsrep_25.12.r4f81026
- Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- MariaDB [(none)]> SHOW DATABASES;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mydb |
- | mysql |
- | performance_schema |
- | test |
- +--------------------+
- 5 rows in set (0.01 sec)
- 2、节点2数据库中创建表,节点1 2均可正常查看
- 节点2:
- MariaDB [(none)]> use mydb;
- Database changed
- MariaDB [mydb]> CREATE TABLE tb1 (id int,name char(10));
- Query OK, 0 rows affected (0.01 sec)
- 节点1 3:
- MariaDB [(none)]> use mydb
- Reading table information for completion of table and column names
- You can turn off this feature to get a quicker startup with -A
- Database changed
- MariaDB [mydb]> SHOW TABLES
- -> ;
- +----------------+
- | Tables_in_mydb |
- +----------------+
- | tb1 |
- +----------------+
- 1 row in set (0.00 sec)
- MariaDB [mydb]> DESC tb1;
- +-------+----------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+-------+
- | id | int(11) | YES | | NULL | |
- | name | char(10) | YES | | NULL | |
- +-------+----------+------+-----+---------+-------+
- 2 rows in set (0.02 sec)
- 3、自增栏位的测试,每个几点会跳着进行自增,同时插入时例如1节点1 4 7;2节点2 5 8;三节点3 6 9。
- 节点1:
- MariaDB [mydb]> CREATE TABLE tb2(id int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30)
- uery OK, 0 rows affected (0.01 sec)
- MariaDB [mydb]> INSERT INTO tb2 (name) VALUES ('void'),('yao');
- Query OK, 2 rows affected (0.01 sec)
- Records: 2 Duplicates: 0 Warnings: 0
- 节点2:
- MariaDB [mydb]> select * from tb2;
- +----+------+
- | id | name |
- +----+------+
- | 1 | void |
- | 4 | yao |
- +----+------+
- 2 rows in set (0.01 sec)
- MariaDB [mydb]> INSERT INTO tb2 (name) VALUES ('amy'),('apple');
- Query OK, 2 rows affected (0.00 sec)
- Records: 2 Duplicates: 0 Warnings: 0
- MariaDB [mydb]> select * from tb2;
- +----+-------+
- | id | name |
- +----+-------+
- | 1 | void |
- | 4 | yao |
- | 5 | amy |
- | 8 | apple |
- +----+-------+
- 4 rows in set (0.00 sec)
来源: http://www.linuxidc.com/Linux/2017-04/142563.htm