MariaDB10.0实例部署和多源复制配置(一)

2015-04-07 14:10:06 · 作者: · 浏览: 153

一、部署MariaDB10.0.17


1、MariaDB下载和简单说明
当前MariaDB支持多源复制的版本为10.0的版本,最新稳定版本为10.0.17,下载连接为:http://mirrors.opencas.cn/mariadb/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz。MariaDB和PerconaDB在5.5的新版中引进来线程池和关闭NUMA的概念,对数据库性能提高不少,而MySQL的版本在5.5.23(貌似是)以上的版本中也有这个概念,但是是属于企业版的功能,开源版本中没有这个功能;MariaDB10的版本中多了一个新功能就是多源复制,对于一些特殊的场景比较实用:如sharding过的表做数据汇总等,一般对汇总统计比较有用。
注:新的版本固然有很多吸引人的地方,但是其中的坑还没有挖完,有问题的话不易查找材料,不易于解决,所以不建议生产环境使用最新的版本。目前MySQL、PerconaDB和MariaDB主流版本是5.5,如果非特殊需要,5.5的足够用,抛开线程池来说,5.6的版本在整体的性能上未必比5.5的好。


2、MariaDB的安装部署
MariaDB和MySQL、Percona的基本上完全一样,5.5以后的版本采用cmake的方式编译安装:
#tar –zxfmariadb-10.0.17.tar.gz
#cdmariadb-10.0.17
#cmake .-DCMAKE_INSTALL_PREFIX=/data/percona/ -DMYSQL_DATADIR=/data/percona/data-DSYSCONFDIR=/data/percona/etc -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DMYSQL_UNIX_ADDR=/data/percona/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON-DENABLED_PROFILING=ON -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3306
#make&& make install
3、MariaDB的配置文件
这个配置文件适用于PerconaDB,去掉线程池和NAMA的参数,同样适用于MySQL:
[client]
port? ? ? ? ? ? = 3306
socket? ? ? ? ? = /data/mariadb/tmp/mysql.sock
default-character-set= utf8
?
[mysqld]
port? ? ? ? = 3306
bind-address= 0.0.0.0
lower_case_table_names? = 1
basedir? = /data/mariadb
datadir? = /data/mariadb/data
tmpdir? = /data/mariadb/tmp
socket? = /data/mariadb/tmp/mysql.sock
#######################################
log-output? ? ? ? ? ? ? = FILE
log-error? ? ? ? ? ? ? = /data/mariadb/log/error.log
#general_log
general_log_file? ? ? ? = /data/mariadb/log/mysql.log
pid-file? ? ? ? ? ? ? ? = /data/mariadb/data/mysql.pid
slow-query-log
slow_query_log_file? ? = /data/mariadb/log/slow.log
tmpdir? ? ? ? ? ? ? ? ? = /data/mariadb/tmp/
long_query_time? ? ? ? = 0.1
#max_statement_time? ? = 1000 #自动杀死超过1s的慢sql,PerconaDB5.6支持,不建议使用,如使用的和业务方沟通好,建议在特殊的情况动态配置使用,默认是0,不限制。
sync_binlog? ? ? ? ? ? = 1
?
skip-external-locking
skip-name-resolve
default-storage-engine= INNODB
character-set-server= utf8
wait_timeout= 28400
back_log? =? 1024
?

#########################
thread_concurrency? ? ? = 16
thread_cache_size? ? ? = 512
table_open_cache? ? ? ? = 16384
table_definition_cache? = 16384
sort_buffer_size? ? ? ? = 2M
join_buffer_size? ? ? ? = 2M
read_buffer_size? ? ? ? = 4M
read_rnd_buffer_size? ? = 4M
key_buffer_size? ? ? ? = 64M
myisam_sort_buffer_size= 64M
tmp_table_size? ? ? ? ? = 256M
max_heap_table_size? ? = 256M
open_files_limit? ? ? ? = 65535
?
#####Network ######################
max_allowed_packet? ? ? = 16M
interactive_timeout? ? = 28400
wait_timeout? ? ? ? ? ? = 28400
max-connections? ? ? ? = 1000
max_user_connections? ? = 0
max_connect_errors? ? ? = 100
?
######Repl #####################
server-id? ? ? ? ? ? ? = 1
report-host? ? ? ? ? ? = 172.16.183.56
log-bin? ? ? ? ? ? ? ? = mysql-bin
binlog_format? ? ? ? ? = mixed
expire_logs_days? ? ? ? = 7
relay-log? ? ? ? ? ? ? = relay-log
#replicate-wild-do-table= zabbix.%
#replicate-wild-do-table= zabbix_server.%
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=test.%
log_slave_updates
skip-slave-start
#slave-net-timeout? ? ? ? ? ? ? ? ? ? = 10
#rpl_semi_sync_master_enabled? ? ? ? = 1
#rpl_semi_sync_master_wait_no_slave? = 1
#rpl_semi_sync_master_timeout? ? ? ? = 1000
#rpl_semi_sync_slave_enabled? ? ? ? ? = 1
relay_log_recovery? ? ? ? ? ? ? ? ? = 1
?
#####? Innodb ###########
innodb