环境:
[root@pxc23 ~]# uname -r
2.6.39-400.17.1.el6uek.x86_64
192.168.56.21
192.168.56.22
192.168.56.23
1、下载:
http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/LATEST/binary/tarball/Percona-XtraDB-Cluster-5.5.39-rel36.0-25.11.828.Linux.x86_64.tar.gz2、解压
tar -xzvf Percona-XtraDB-Cluster-5.5.39-rel36.0-25.11.828.Linux.x86_64.tar.gz -C /usr/localln -sf /usr/local/Percona-XtraDB-Cluster-5.5.39-rel36.0-25.11.828.Linux.x86_64 /usr/local/mysql
3、检测依赖包
[root@oel64 tmp]# ldd /usr/local/mysql/bin/mysqldlinux-vdso.so.1 => (0x00007fff2d1ff000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000395f200000)
libaio.so.1 => /lib64/libaio.so.1 (0x000000395ea00000)
libz.so.1 => /lib64/libz.so.1 (0x000000395fa00000)
librt.so.1 => /lib64/librt.so.1 (0x000000395fe00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003961e00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f75a20be000)
libssl.so.6 => not found
libcrypto.so.6 => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003963600000)
libm.so.6 => /lib64/libm.so.6 (0x000000395f600000)
libc.so.6 => /lib64/libc.so.6 (0x000000395ee00000)
/lib64/ld-linux-x86-64.so.2 (0x000000395e600000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003961a00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003962e00000)
安装依赖包
[root@oel64 tmp]# locate libssl.so libcrypto.so.10/usr/lib64/.libcrypto.so.10.hmac
/usr/lib64/.libssl.so.1.0.0.hmac
/usr/lib64/.libssl.so.10.hmac
/usr/lib64/libcrypto.so.10
/usr/lib64/libssl.so.1.0.0
/usr/lib64/libssl.so.10
已有更高的版本,直接建个软链就可以了
ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6
ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
4、用户
groupadd -r -g 306 mysql #-r表示是伪用户,只是用来运行mysql程序,不能登录系统useradd -g 306 -r -u 306 mysql
5、path
[root@OELX64 mysql]# cat ~/.bash_profile... ...
PATH=/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
6、my.cnf
下面参数,测试机用,正式环境请测试验正后再用
cat /etc/my.cnf
[client]
socket = /tmp/user_3306.sock
user = mysql
port = 3306
[mysql]
#prompt="\\u@\\h:\\p [\\d]> "
prompt="\\p>"
#pager="less -i -n -S"
#tee=/home/mysql/query.log
no-auto-rehash
[mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/user_3306/data
tmpdir = /data/mysql/user_3306/tmp
port = 3306
socket = /tmp/user_3306.sock
server_id = 213306
lower_case_table_names = 1
#timeout
interactive_timeout = 300
wait_timeout = 300
#character set
character-set-server = utf8
open_files_limit = 65535
max_connections = 100
max_connect_errors = 100000
#logs
log-output = file
slow_query_log = 1
slow_query_log_file = slow.log
log-error = error.log
log_warnings = 2
pid-file = mysql.pid
long_query_time = 1
#log-slow-admin-statements = 1
#log-queries-not-using-indexes = 1
log-slow-slave-statements = 1
#binlog
binlog_format = row
log-bin = mysql-bin
binlog_cache_size = 1M
max_binlog_size = 200M
max_binlog_cache_size = 2G
sync_binlog = 0
expire_logs_days = 10
#relay log
skip_slave_start = 1
max_relay_log_size = 500M
relay_log_purge = 1
relay_log_recovery = 1
log_slave_updates = 1
#slave-skip-errors=1032,1053,1062
#buffers & cache
table_open_cache = 2048
table_definition_cache = 2048
table_open_cache = 2048
max_heap_table_size = 96M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 256
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 256K
query_cache_min_res_unit = 512
thread_stack = 192K
tmp_table_size = 96M
key_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 32M
#myisam
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
#innodb
innodb_buffer_pool_size = 100M
innodb_buffer_pool_instances = 1
innodb_data_file_path = ibdata1:100M:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_file_per_table = 1
innodb_rollback_on_timeout
innodb_status_file = 1
innodb_io_capacity = 2000
transaction_isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT
#pxc
default_storage_engine=Innodb
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc_jz #cluster的名字
wsrep_cluster_address=gcomm://192.168.56.21,192.168.56.22,192.168.56.23 #cluster 中的节点ip
wsrep_node_address=192.168.56.21 #cluster当前节点的 ip
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
#wsrep_sst_method=rsync
wsrep_sst_method=xtrabackup
wsrep_sst_auth=sst:26856649
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server_id = 213306
wsrep_node_address=192.168.56.21 #cluster当前节点的 ip
不同的机子,改上面这两个参数
7、建库
rm /data/mysql/user_3306/ -rfmkdir /data/mysql/user_3306/data -p
mkdir /data/mysql/user_3306/logs -p
mkdir /data/mysql/user_3306/tmp -p
chown -R mysql:mysql /data/mysql/*
cd /data/mysql/user_3306/data/
openssl genrsa -out private_key.pem 1024
openssl rsa -in private_key.pem -pubout > public_key.pem
chmod 444 public_key.pem
chmod 444 private_key.pem
chown mysql:mysql public_key.pem
chown mysql:mysql private_key.pem
cd /usr/local/mysql
# 必须在mysql目录下执行
scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /data/mysql/user_3306/
chown -R mysql:mysql /data/mysql/*
cd /data/mysql/user_3306/
启动时要注意第一个节点:
./mysql.server bootstrap-pxc
其它节点
./mysql.server start
安装完成,去测试同步吧