Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ProxySQL is a high performance, high availability, protocol aware proxy for MySQL and forks (like Percona Server and MariaDB). With its ability to intelligently route queries, balance loads, and provide failover handling, ProxySQL empowers organizations to harness the full potential of their database infrastructure. Whether grappling with scalability challenges, striving to enhance performance, or seeking to ensure high availability, ProxySQL emerges as a versatile ally, capable of addressing diverse needs across various database environments. WWW: https://www.proxysql.com/
- Loading branch information
Showing
9 changed files
with
177 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
PORTNAME= proxysql | ||
PORTVERSION= 2.6.1 | ||
CATEGORIES= databases | ||
|
||
MAINTAINER= zi@FreeBSD.org | ||
COMMENT= High performance, high availability, protocol-aware proxy for MySQL | ||
WWW= https://www.proxysql.com/ | ||
|
||
LICENSE= GPLv3 | ||
LICENSE_FILE= ${WRKSRC}/LICENSE | ||
|
||
BUILD_DEPENDS= aclocal:devel/automake \ | ||
autoreconf:devel/autoconf \ | ||
bash:shells/bash \ | ||
cmake:devel/cmake-core \ | ||
${LOCALBASE}/bin/grep:textproc/gnugrep \ | ||
libgcrypt>0:security/libgcrypt \ | ||
libtoolize:devel/libtool \ | ||
e2fsprogs-libuuid>0:misc/e2fsprogs-libuuid \ | ||
gnutls>0:security/gnutls | ||
RUN_DEPENDS= libgcrypt>0:security/libgcrypt \ | ||
e2fsprogs-libuuid>0:misc/e2fsprogs-libuuid \ | ||
gnutls>0:security/gnutls | ||
|
||
USES= compiler:gcc-c++11-lib gmake libtool perl5 python:build shebangfix | ||
USE_PERL5= build | ||
USE_GCC= yes | ||
MAKE_ENV= GIT_VERSION=${PORTVERSION} | ||
USE_GITHUB= yes | ||
ALL_TARGET= build_deps default | ||
SHEBANG_FILES= deps/libssl/verify-bio_st-match.sh | ||
MAKE_JOBS_UNSAFE=yes | ||
LDFLAGS+= -L${LOCALBASE}/lib | ||
CFLAGS+= -fPIC | ||
CXXFLAGS+= -fPIC | ||
BINARY_ALIAS= python3=${PYTHON_CMD} | ||
USE_RC_SUBR= ${PORTNAME} | ||
|
||
USERS= ${PORTNAME} | ||
GROUPS= ${PORTNAME} | ||
|
||
GH_ACCOUNT= sysown | ||
|
||
post-patch: | ||
@${REINPLACE_CMD} -e 's,/etc/,${ETCDIR}/,g' ${WRKSRC}/lib/ProxySQL_GloVars.cpp | ||
@${REINPLACE_CMD} \ | ||
-e 's|strftime(__buffer, 25, "%Y-%m-%d %H:%M:%S", __tm_info);|snprintf(__buffer, 3, "%s", "");|g' \ | ||
-e 's,"%s \[,"%s\[,g' \ | ||
-e '/__timer/d' \ | ||
-e '/__tm_info/d' \ | ||
${WRKSRC}/include/proxysql_debug.h | ||
@${REINPLACE_CMD} \ | ||
-e 's,/var/lib,/var/db,g' \ | ||
-e '7s/^/errorlog="\/var\/log\/proxysql\/proxysql-error.log"\n\n/g' \ | ||
-e '7s/^/pid="\/var\/run\/${PORTNAME}\/${PORTNAME}.pid"\n/g' \ | ||
${WRKSRC}/src/proxysql.cfg | ||
@${REINPLACE_CMD} \ | ||
-e 's,grep,${LOCALBASE}/bin/grep,g' \ | ||
-e 's,ln -fsT,ln -fs,' \ | ||
-e 's,PROXYSQLCLICKHOUSE=1 ,,g' \ | ||
${WRKSRC}/Makefile ${WRKSRC}/deps/Makefile \ | ||
${WRKSRC}/lib/Makefile ${WRKSRC}/src/Makefile | ||
|
||
do-install: | ||
${INSTALL_PROGRAM} ${WRKSRC}/src/proxysql ${STAGEDIR}${LOCALBASE}/sbin | ||
|
||
post-install: | ||
${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}/var/db/${PORTNAME} \ | ||
${STAGEDIR}/var/run/${PORTNAME} \ | ||
${STAGEDIR}${LOCALBASE}/etc/syslog.d \ | ||
${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d \ | ||
${STAGEDIR}/var/log/${PORTNAME} | ||
${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.conf \ | ||
${STAGEDIR}${LOCALBASE}/etc/syslog.d | ||
${INSTALL_DATA} ${FILESDIR}/proxysql.conf-newsyslog \ | ||
${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/proxysql.conf.sample | ||
${INSTALL_DATA} ${WRKSRC}/src/proxysql.cfg \ | ||
${STAGEDIR}${ETCDIR}/proxysql.cfg.sample | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1711406812 | ||
SHA256 (sysown-proxysql-2.6.1_GH0.tar.gz) = b4021fd4bd27ef2c506da91396ed995fa1d6ee8f3d421fcb200331716f9a8979 | ||
SIZE (sysown-proxysql-2.6.1_GH0.tar.gz) = 50028685 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
!proxysql | ||
*.* /var/log/proxysql.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/var/log/proxysql.log root:wheel 640 10 1000 * JC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/bin/sh | ||
|
||
# PROVIDE: proxysql | ||
# REQUIRE: LOGIN mysql | ||
# KEYWORD: shutdown | ||
# | ||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf | ||
# to enable this service: | ||
# | ||
# proxysql_enable (bool): Set to NO by default. | ||
# Set it to YES to enable proxysql. | ||
# proxysql_user (string): Set user that proxysql will run under | ||
# Default is "proxysql". | ||
# proxysql_group (string): Set group that proxysql will run under | ||
# Default is "proxysql". | ||
# proxysql_config (string): Set path to config file | ||
# Default is "%%ETCDIR%%/proxysql.cfg". | ||
# proxysql_args (string): Set extra arguments to pass to proxysql | ||
# Default is "". | ||
|
||
. /etc/rc.subr | ||
|
||
name=proxysql | ||
rcvar=proxysql_enable | ||
|
||
load_rc_config $name | ||
|
||
: ${proxysql_enable:="NO"} | ||
: ${proxysql_user:="proxysql"} | ||
: ${proxysql_group:="proxysql"} | ||
: ${proxysql_config:="%%ETCDIR%%/proxysql.cfg"} | ||
: ${proxysql_socket:="/var/run/proxysql/proxysql.sock"} | ||
: ${proxysql_datadir:="/var/db/proxysql"} | ||
: ${proxysql_args:=""} | ||
: ${proxysql_restart_delay:="10"} | ||
|
||
|
||
pidfile="/var/run/proxysql/proxysql.pid" | ||
command="/usr/sbin/daemon" | ||
proxysql_command="%%PREFIX%%/sbin/proxysql" | ||
command_args="-rP ${pidfile} -S -R ${proxysql_restart_delay} \ | ||
-T ${name} ${proxysql_command} \ | ||
-f -c ${proxysql_config} -S ${proxysql_socket} \ | ||
-D ${proxysql_datadir} \ | ||
--no-version-check ${proxysql_args}" | ||
required_files="${proxysql_config}" | ||
extra_commands="reload initialize" | ||
reload_cmd=proxysql_reload | ||
initialize_cmd=proxysql_initialize | ||
|
||
proxysql_initialize() | ||
{ | ||
su -m ${proxysql_user} -c "${proxysql_command} --initial" | ||
} | ||
|
||
proxysql_reload() | ||
{ | ||
su -m ${proxysql_user} -c "${proxysql_command} --reload" | ||
} | ||
|
||
load_rc_config $name | ||
run_rc_command "$1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
ProxySQL is a high performance, high availability, protocol aware proxy for | ||
MySQL and forks (like Percona Server and MariaDB). | ||
|
||
With its ability to intelligently route queries, balance loads, and provide | ||
failover handling, ProxySQL empowers organizations to harness the full | ||
potential of their database infrastructure. Whether grappling with | ||
scalability challenges, striving to enhance performance, or seeking to | ||
ensure high availability, ProxySQL emerges as a versatile ally, capable of | ||
addressing diverse needs across various database environments. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
[ | ||
{ type: install | ||
message: <<EOM | ||
In order for logging to function, you must restart syslogd: | ||
|
||
# service syslogd restart | ||
EOM | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
etc/syslog.d/proxysql.conf | ||
sbin/proxysql | ||
@dir(,proxysql,0750) %%ETCDIR%% | ||
@sample(,proxysql,0640) %%ETCDIR%%/proxysql.cfg.sample | ||
@sample %%LOCALBASE%%/etc/newsyslog.conf.d/proxysql.conf.sample | ||
@dir(proxysql,proxysql,0750) /var/db/proxysql | ||
@dir(proxysql,proxysql,0750) /var/run/proxysql | ||
@dir(proxysql,proxysql,0750) /var/log/proxysql | ||
@postexec test -f /var/log/proxysql.log || touch /var/log/proxysql.log | ||
@postexec chmod 600 /var/log/proxysql.log |