pxc測試機搭建過程

環境:

[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.gz


2、解壓

tar -xzvf Percona-XtraDB-Cluster-5.5.39-rel36.0-25.11.828.Linux.x86_64.tar.gz -C /usr/local
ln -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/mysqld
linux-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/ -rf
mkdir /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

安裝完成,去測試同步吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章