09-04-2015, 08:27 AM
|
#1
|
Guest
|
Cài đặt Galera Percona XtraDB Cluster mysql trên CentOS
Cài đặt Galera Percona XtraDB Cluster mysql trên CentOS
Bài này sẽ hướng dẫn cài đặt Percona XtraDB Cluster trên ba máy chủ CentOS 6.3, sử dụng gói từ kho Percona.
Cluster này sẽ sử dụng 3 máy chủ để tao thành một cụm MYSQL
Galera mysql cluster master - master
Mã:
|
Máy # 1
hostname: percona1
IP: 192.168.70.71
Máy # 2
hostname: percona2
IP: 192.168.70.72
Máy # 3
hostname: percona3
IP: 192.168.70.73 |
Điều kiện cần có :
Mã:
|
-Tất cả ba máy chủ cần cài đặt CentOS 6.3 hoặc 6.4
-Tường lửa đã được thiết lập để cho phép kết nối với cổng 3306, 4444, 4567 và 4568
- SELinux vô hiệu hóa
Cài đặt :
Trên cả 3 máy cần cài Percona repository sau
Mã:
|
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm |
Tiếp theo cài gói Percona XtraDB Cluster trên cả 3 máy
Mã:
|
yum install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-client |
Cấu hình mysql trên máy thứ nhất
Chỉnh sửa file /etc/my.cnf
Mã:
|
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://192.168.70.71,192.168.70.72,192.168.70.73
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This is a recommended tuning variable for performance
innodb_locks_unsafe_for_binlog=1
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=192.168.70.71
# SST method
wsrep_sst_method=xtrabackup
# Cluster name
wsrep_cluster_name=my_centos_cluster
# Authentication for SST method
wsrep_sst_auth="sstuser:s3cret" |
Sau đó chạy lệnh
Mã:
|
[root@percona1 ~]# /etc/init.d/mysql start --wsrep-cluster-address="gcomm://" |
Kiểm tra tình trạng thấy như thế này là ok |
mysql> show status like 'wsrep%';
+----------------------------+--------------------------------------+ | wsrep_cluster_size |
Tiếp theo chạy lệnh sau để tạo mật khẩu cho root
[code]
mysql@percona1> UPDATE mysql.user SET password=PASSWORD("Passw0rd") where user='root';
mysql@percona1> FLUSH PRIVILEGES;
[CODE]
Tạo user mới và set quyền
Mã:
|
mysql@percona1> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cret';
mysql@percona1> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql@percona1> FLUSH PRIVILEGES; |
Tiếp tục trên file /etc/my.cnf trên máy thứ 2 (percona2)
Mã:
|
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://192.168.70.71,192.168.70.72,192.168.70.73
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This is a recommended tuning variable for performance
innodb_locks_unsafe_for_binlog=1
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #2 address
wsrep_node_address=192.168.70.72
# Cluster name
wsrep_cluster_name=my_centos_cluster
# SST method
wsrep_sst_method=xtrabackup
#Authentication for SST method
wsrep_sst_auth="sstuser:s3cret" |
Khởi động mysql
[code]
/etc/init.d/mysql start
/CODE]
Kiểm tra
Mã:
|
mysql> show status like 'wsrep%';
| wsrep_cluster_size | 2 |
|
Tiếp tục trên file /etc/my.cnf trên máy thứ 3 (percona3)
Mã:
|
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://192.168.70.71,192.168.70.72,192.168.70.73
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This is a recommended tuning variable for performance
innodb_locks_unsafe_for_binlog=1
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #3 address
wsrep_node_address=192.168.70.73
# Cluster name
wsrep_cluster_name=my_centos_cluster
# SST method
wsrep_sst_method=xtrabackup
#Authentication for SST method
wsrep_sst_auth="sstuser:s3cret" |
Khởi động lại
[code]
[root@percona3 ~]# /etc/init.d/mysql start
Mã:
|
Kiểm tra như thế này là ok
mysql> show status like 'wsrep%';
| wsrep_cluster_size | 3 |
Thử nghiệm :
Trên máy 2 tạo một database là percona
Mã:
|
mysql@percona2> CREATE DATABASE percona;
Query OK, 1 row affected (0.01 sec) |
Trên máy thứ 3 tạo một bảng example
Mã:
|
mysql@percona3> USE percona;
Database changed
mysql@percona3> CREATE TABLE example (node_id INT PRIMARY KEY, node_name VARCHAR(30));
Query OK, 0 rows affected (0.05 sec) |
Ví dụ thử nghiệm cho thấy 3 máy chủ MYSQL sử dụng 1 cụm Percona XtraDB Cluster đã hoàn toàn được đồng bộ với nhau , khi bạn ghi dữ liệu vào 1 trong 3 máy trên thì các máy còn lại sẽ được đồng bộ dữ liệu sang
|
|
|