데이터 베이스 MySQL 튜토리얼 使用Haproxy对MariaDB做负载均衡_MySQL

使用Haproxy对MariaDB做负载均衡_MySQL

Jun 01, 2016 pm 01:15 PM
섬기는 사람

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

配置成功。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

eMule 검색이 서버에 연결할 수 없는 문제를 해결하는 방법 eMule 검색이 서버에 연결할 수 없는 문제를 해결하는 방법 Jan 25, 2024 pm 02:45 PM

eMule 검색이 서버에 연결할 수 없는 문제를 해결하는 방법

CentOS 설치 퓨즈 및 CentOS 설치 서버에 대한 자세한 설명 CentOS 설치 퓨즈 및 CentOS 설치 서버에 대한 자세한 설명 Feb 13, 2024 pm 08:40 PM

CentOS 설치 퓨즈 및 CentOS 설치 서버에 대한 자세한 설명

RPC 서버 연결 불가 및 데스크탑 진입 불가 현상에 대한 해결 방법 RPC 서버 연결 불가 및 데스크탑 진입 불가 현상에 대한 해결 방법 Feb 18, 2024 am 10:34 AM

RPC 서버 연결 불가 및 데스크탑 진입 불가 현상에 대한 해결 방법

PHP를 사용한 IP 프록시 서버 구축을 위한 모범 사례 가이드 PHP를 사용한 IP 프록시 서버 구축을 위한 모범 사례 가이드 Mar 11, 2024 am 08:36 AM

PHP를 사용한 IP 프록시 서버 구축을 위한 모범 사례 가이드

TFTP 서버를 활성화하는 방법 TFTP 서버를 활성화하는 방법 Oct 18, 2023 am 10:18 AM

TFTP 서버를 활성화하는 방법

Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Mar 21, 2024 am 08:50 AM

Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법

에픽서버가 오프라인 상태일 때 게임에 접속할 수 없으면 어떻게 해야 하나요? 에픽게임즈가 오프라인으로 게임에 입장할 수 없는 이유에 대한 해결책 에픽서버가 오프라인 상태일 때 게임에 접속할 수 없으면 어떻게 해야 하나요? 에픽게임즈가 오프라인으로 게임에 입장할 수 없는 이유에 대한 해결책 Mar 13, 2024 pm 04:40 PM

에픽서버가 오프라인 상태일 때 게임에 접속할 수 없으면 어떻게 해야 하나요? 에픽게임즈가 오프라인으로 게임에 입장할 수 없는 이유에 대한 해결책

서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? 서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? Mar 28, 2024 pm 02:39 PM

서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까?

See all articles