使用Haproxy对MariaDB做负载均衡_MySQL

WBOY
发布: 2016-06-01 13:15:47
原创
1697 人浏览过

MariaDB

服务器环境:

wKioL1NrXYri1iztAAEdbd2C-Vc420.jpg

安装

vim /etc/apt/sources.list.d/mariadb.list # 添加以下两句deb http://mirror.yongbok.net/mariadb/repo/5.5/ubuntu precise maindeb-src http://mirror.yongbok.net/mariadb/repo/5.5/ubuntu precise mainapt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943dbapt-get updateapt-get install mariadb-server-5.5
登录后复制

多实例配置文件:3306,3307,3308

[mysqld_multi]mysqld= /usr/bin/mysqld_safemysqladmin= /usr/bin/mysqladminuser= root # 指定用于启动、停止mysql实例的用户log = /var/log/mysql/mysqld_multi.log[client]port= 3306socket= /var/run/mysql/mysql.sockdefault-character-set = utf8[mysqld3306]port= 3306socket= /var/run/mysql/mysql.sockpid-file= /var/run/mysql/mysql.piddatadir = /var/lib/mysql/3306skip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mdefault-storage-engine= MyISAMcharacter-set-server= utf8skip-name-resolvecollation-server= utf8_general_cilog-error = /var/log/mysql/mysqld-error.loglog-slow-admin-statementslong-query-time = 3slow-query-logslow-query-log-file = /var/log/mysql/mysqld-slow.loginnodb_buffer_pool_size=1Ginnodb_additional_mem_pool_size=20Mmax_connections = 1000tmpdir= /tmp/server-id = 2log-slave-updateslog-bin = mysql-binbinlog_format = mixedrelay_log = mysql-relay-binreplicate-do-db= wordpressreplicate-ignore-db= mysqlreplicate-ignore-db= information_schemareplicate-ignore-db= performance_schemareplicate-ignore-db= test[mysqldump]quickmax_allowed_packet = 16M[mysqld3307]port= 3307socket= /var/run/mysql/mysql-3307.sockpid-file= /var/run/mysql/mysql-3307.piddatadir = /var/lib/mysql/3307skip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mdefault-storage-engine= MyISAMcharacter-set-server= utf8skip-name-resolvecollation-server= utf8_general_cilog-error = /var/log/mysql/mysqld-error-3307.loglog-slow-admin-statementslong-query-time = 3slow-query-logslow-query-log-file = /var/log/mysql/mysqld-slow-3307.loginnodb_buffer_pool_size=1Ginnodb_additional_mem_pool_size=20Mmax_connections = 1000tmpdir= /tmp/server-id = 2log-slave-updateslog-bin = mysql-binbinlog_format = mixedrelay_log = mysql-relay-binreplicate-do-db= futurestarreplicate-do-db= verywxreplicate-ignore-db= mysqlreplicate-ignore-db= information_schemareplicate-ignore-db= performance_schemareplicate-ignore-db= test[mysqldump]quickmax_allowed_packet = 16M[mysqld3308]port= 3308socket= /var/run/mysql/mysql-3308.sockpid-file= /var/run/mysql/mysql-3308.piddatadir = /var/lib/mysql/3308skip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mdefault-storage-engine= MyISAMcharacter-set-server= utf8skip-name-resolvecollation-server= utf8_general_cilog-error = /var/log/mysql/mysqld-error-3308.loglog-slow-admin-statementslong-query-time = 3slow-query-logslow-query-log-file = /var/log/mysql/mysqld-slow-3308.loginnodb_buffer_pool_size=1Ginnodb_additional_mem_pool_size=20Mmax_connections = 1000tmpdir= /tmp/server-id = 2log-slave-updateslog-bin = mysql-binbinlog_format = mixedrelay_log = mysql-relay-binreplicate-do-db= futurestarreplicate-do-db= verywxreplicate-ignore-db= mysqlreplicate-ignore-db= information_schemareplicate-ignore-db= performance_schemareplicate-ignore-db= test[mysqldump]quickmax_allowed_packet = 16M[mysql]socket= /var/run/mysql/mysql.sockauto-rehashdefault-character-set = utf8[myisamchk]key_buffer_size = 20Msort_buffer_size = 20Mread_buffer = 2Mwrite_buffer = 2M[mysqlhotcopy]interactive-timeout
登录后复制

初始化数据库文件:

mysql_install_db --datadir=/var/lib/mysql/3306 --user=mysqlmysql_install_db --datadir=/var/lib/mysql/3307 --user=mysqlmysql_install_db --datadir=/var/lib/mysql/3308 --user=mysql
登录后复制

启动数据库:

mysqld_multi start 3306mysqld_multi start 3307mysqld_multi start 3308
登录后复制

查看启动情况:

netstat -tunlp | grep -E '(3306|3307|3308)'
登录后复制

wKioL1NrV5ig87b0AAB_xC-JOUY727.jpg

wKiom1NrWimwvRhwAANSvXGqZGk724.jpg

wKioL1NrWf7gC7IxAAFEWAJact0591.jpg

安装Haporxy

apt-get install haproxy
登录后复制

然后vim etc/default/haproxy

修改 ENABLED=0 -> ENABLED=1 保存。

修改haproxy配置文件:

vim /etc/haproxy/haproxy.cfg

# this config needs haproxy-1.1.28 or haproxy-1.2.1global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 #chroot /usr/share/haproxy user haproxy group haproxy daemon #debug #quietdefaults log global mode http #option httplog optiondontlognull retries 3 option redispatch maxconn 2000 contimeout5000 clitimeout50000 srvtimeout50000listenmysql 0.0.0.0:6666 mode tcp option mysql-check user root balance roundrobin servermysql_1 127.0.0.1:3306 weight 1 check inter 1s rise 2 fall 5 servermysql_2 127.0.0.1:3307 weight 1 check inter 1s rise 2 fall 5 servermysql_3 127.0.0.1:3308 weight 1 check inter 1s rise 2 fall 5 listen stats mode http bind 0.0.0.0:8888 stats enable stats uri /dbs stats realm Global/ statistics stats auth admin:admin errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http
登录后复制
/etc/init.d/haproxy start
登录后复制

wKioL1NrXIbTgo1GAAJI5Gv0EDI394.jpg

wKiom1NrXLGQzJiDAAHAOUvDXvs301.jpg

wKioL1NrXIaDhmMQAAF6jyMU-AQ809.jpg

查看haproxy监控页面:

wKiom1NrXQuAe5xBAAcFX6jljjw614.jpg

配置成功。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!