使用Haproxy对MariaDB做负载均衡_MySQL
MariaDB
服务器环境:
安装
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)'
安装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
查看haproxy监控页面:
配置成功。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Solution: 1. Check the eMule settings to make sure you have entered the correct server address and port number; 2. Check the network connection, make sure the computer is connected to the Internet, and reset the router; 3. Check whether the server is online. If your settings are If there is no problem with the network connection, you need to check whether the server is online; 4. Update the eMule version, visit the eMule official website, and download the latest version of the eMule software; 5. Seek help.

What should I do if the RPC server is unavailable and cannot be accessed on the desktop? In recent years, computers and the Internet have penetrated into every corner of our lives. As a technology for centralized computing and resource sharing, Remote Procedure Call (RPC) plays a vital role in network communication. However, sometimes we may encounter a situation where the RPC server is unavailable, resulting in the inability to enter the desktop. This article will describe some of the possible causes of this problem and provide solutions. First, we need to understand why the RPC server is unavailable. RPC server is a

As a LINUX user, we often need to install various software and servers on CentOS. This article will introduce in detail how to install fuse and set up a server on CentOS to help you complete the related operations smoothly. CentOS installation fuseFuse is a user space file system framework that allows unprivileged users to access and operate the file system through a customized file system. Installing fuse on CentOS is very simple, just follow the following steps: 1. Open the terminal and Log in as root user. 2. Use the following command to install the fuse package: ```yuminstallfuse3. Confirm the prompts during the installation process and enter `y` to continue. 4. Installation completed

The role of a DHCP relay is to forward received DHCP packets to another DHCP server on the network, even if the two servers are on different subnets. By using a DHCP relay, you can deploy a centralized DHCP server in the network center and use it to dynamically assign IP addresses to all network subnets/VLANs. Dnsmasq is a commonly used DNS and DHCP protocol server that can be configured as a DHCP relay server to help manage dynamic host configurations in the network. In this article, we will show you how to configure dnsmasq as a DHCP relay server. Content Topics: Network Topology Configuring Static IP Addresses on a DHCP Relay D on a Centralized DHCP Server

In network data transmission, IP proxy servers play an important role, helping users hide their real IP addresses, protect privacy, and improve access speeds. In this article, we will introduce the best practice guide on how to build an IP proxy server with PHP and provide specific code examples. What is an IP proxy server? An IP proxy server is an intermediate server located between the user and the target server. It acts as a transfer station between the user and the target server, forwarding the user's requests and responses. By using an IP proxy server

Methods to view server status include command line tools, graphical interface tools, monitoring tools, log files, and remote management tools. Detailed introduction: 1. Use command line tools. On Linux or Unix servers, you can use command line tools to view the status of the server; 2. Use graphical interface tools. For server operating systems with graphical interfaces, you can use the graphics provided by the system. Use interface tools to view server status; 3. Use monitoring tools. You can use special monitoring tools to monitor server status in real time, etc.

The steps to start the TFTP server include selecting the TFTP server software, downloading and installing the software, configuring the TFTP server, and starting and testing the server. Detailed introduction: 1. When choosing TFTP server software, you first need to choose the TFTP server software that suits your needs. Currently, there are many TFTP server software to choose from, such as Tftpd32, PumpKIN, tftp-hpa, etc., which all provide simple and easy-to-use functions. interface and configuration options; 2. Download and install TFTP server software, etc.

What should I do if I can’t enter the game when the epic server is offline? This problem must have been encountered by many friends. When this prompt appears, the genuine game cannot be started. This problem is usually caused by interference from the network and security software. So how should it be solved? The editor of this issue will explain I would like to share the solution with you, I hope today’s software tutorial can help you solve the problem. What to do if the epic server cannot enter the game when it is offline: 1. It may be interfered by security software. Close the game platform and security software and then restart. 2. The second is that the network fluctuates too much. Try restarting the router to see if it works. If the conditions are OK, you can try to use the 5g mobile network to operate. 3. Then there may be more
