
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ProxySQL是一款高性能SQL代理。详情请访问http://www.proxysql.com/%E5%AE%98%E7%BD%91%E3%80%82
此镜像由Severalnines维护,并将尽最大努力定期更新。该镜像基于Debian 11(Bullseye),包含:
要使用自定义ProxySQL配置文件运行ProxySQL容器:
bash$ docker run -d \ --name proxysql2 \ --publish 6033:6033 \ --publish 6032:6032 \ --publish 6080:6080 \ --restart=unless-stopped \ -v /root/proxysql/proxysql.cnf:/etc/proxysql.cnf \ severalnines/proxysql
有关可用Docker镜像版本的列表,请参阅支持的标签部分。
对于Kubernetes,请查看以下博客文章了解说明和示例:
以下是一些ProxySQL配置示例:
有关更详细的说明,请查看如何在Docker上为MySQL Galera集群运行和配置ProxySQL 2.0。
您还可以在官方仓库中找到一些proxysql.cnf示例:https://github.com/sysown/proxysql/blob/master/doc/configuration.md
bashdatadir="/var/lib/proxysql" admin_variables= { admin_credentials="admin:admin" mysql_ifaces="0.0.0.0:6032" refresh_interval=2000 web_enabled=true web_port=6080 stats_credentials="stats:admin" } mysql_variables= { threads=4 max_connections=2048 default_query_delay=0 default_query_timeout=36000000 have_compress=true poll_timeout=2000 interfaces="0.0.0.0:6033;/tmp/proxysql.sock" default_schema="information_schema" stacksize=1048576 server_version="5.1.30" connect_timeout_server=10000 monitor_history=60000 monitor_connect_interval=200000 monitor_ping_interval=200000 ping_interval_server_msec=10000 ping_timeout_server=200 commands_stats=true sessions_sort=true monitor_username="proxysql" monitor_password="proxysqlpassword" monitor_galera_healthcheck_interval=2000 monitor_galera_healthcheck_timeout=800 } mysql_galera_hostgroups = ( { writer_hostgroup=10 backup_writer_hostgroup=20 reader_hostgroup=30 offline_hostgroup=9999 max_writers=1 writer_is_also_reader=2 max_transactions_behind=30 active=1 } ) mysql_servers = ( { address="db1.cluster.local" , port=3306 , hostgroup=10, max_connections=100 }, { address="db2.cluster.local" , port=3306 , hostgroup=10, max_connections=100 }, { address="db3.cluster.local" , port=3306 , hostgroup=10, max_connections=100 } ) mysql_query_rules = ( { rule_id=100 active=1 match_pattern="^SELECT .* FOR UPDATE" destination_hostgroup=10 apply=1 }, { rule_id=200 active=1 match_pattern="^SELECT .*" destination_hostgroup=30 apply=1 }, { rule_id=300 active=1 match_pattern=".*" destination_hostgroup=10 apply=1 } ) mysql_users = ( { username = "wordpress", password = "passw0rd", default_hostgroup = 10, transaction_persistent = 0, active = 1 }, { username = "sbtest", password = "passw0rd", default_hostgroup = 10, transaction_persistent = 0, active = 1 } )
bashdatadir="/var/lib/proxysql" admin_variables= { admin_credentials="admin:admin" mysql_ifaces="0.0.0.0:6032" refresh_interval=2000 } mysql_variables= { threads=4 max_connections=2048 default_query_delay=0 default_query_timeout=36000000 have_compress=true poll_timeout=2000 interfaces="0.0.0.0:6033;/tmp/proxysql.sock" default_schema="information_schema" stacksize=1048576 server_version="5.1.30" connect_timeout_server=10000 monitor_history=60000 monitor_connect_interval=200000 monitor_ping_interval=200000 ping_interval_server_msec=10000 ping_timeout_server=200 commands_stats=true sessions_sort=true monitor_username="proxysql" monitor_password="proxysqlpassword" } mysql_servers = ( { address="db1.cluster.local" , port=3306 , hostgroup=10, max_connections=100 }, { address="db2.cluster.local" , port=3306 , hostgroup=10, max_connections=100 }, { address="db3.cluster.local" , port=3306 , hostgroup=10, max_connections=100 }, { address="db1.cluster.local" , port=3306 , hostgroup=20, max_connections=100 }, { address="db2.cluster.local" , port=3306 , hostgroup=20, max_connections=100 }, { address="db3.cluster.local" , port=3306 , hostgroup=20, max_connections=100 } ) mysql_query_rules = ( { rule_id=100 active=1 match_pattern="^SELECT .* FOR UPDATE" destination_hostgroup=10 apply=1 }, { rule_id=200 active=1 match_pattern="^SELECT .*" destination_hostgroup=20 apply=1 }, { rule_id=300 active=1 match_pattern=".*" destination_hostgroup=10 apply=1 } ) scheduler = ( { id = 1 filename = "/usr/share/proxysql/tools/proxysql_galera_checker.sh" active = 1 interval_ms = 2000 arg1 = "10" arg2 = "20" arg3 = "1" arg4 = "1" arg5 = "/var/lib/proxysql/proxysql_galera_checker.log" } ) mysql_users = ( { username = "sbtest" , password = "passw0rd" , default_hostgroup = 10 , active = 1 } )
bashdatadir="/var/lib/proxysql" admin_variables= { admin_credentials="admin:admin" mysql_ifaces="0.0.0.0:6032" refresh_interval=2000 } mysql_variables= { threads=4 max_connections=2048 default_query_delay=0 default_query_timeout=36000000 have_compress=true poll_timeout=2000 interfaces="0.0.0.0:6033;/tmp/proxysql.sock" default_schema="information_schema" stacksize=*** server_version="5.1.30" connect_timeout_server=*** monitor_history=60000 monitor_connect_interval=200000 monitor_ping_interval=200000 ping_interval_server_msec=*** ping_timeout_server=200 commands_stats=true sessions_sort=true monitor_username="proxysql" monitor_password="proxysqlpassword" } mysql_replication_hostgroups = ( { writer_hostgroup=10 , reader_hostgroup=20 , comment="host groups" } ) mysql_servers = ( { address="master.replication.local" , port=3306 , hostgroup=10, max_connections=100 , max_replication_lag = 5 }, { address="slave1.replication.local" , port=3306 , hostgroup=20, max_connections=100 , max_replication_lag = 5 }, { address="slave2.replication.local" , port=3306 , hostgroup=20, max_connections=100 , max_replication_lag = 5 } ) mysql_query_rules = ( { rule_id=100 active=1 match_pattern="^SELECT .* FOR UPDATE" destination_hostgroup=10 apply=1 }, { rule_id=200 active=1 match_pattern="^SELECT .*" destination_hostgroup=20 apply=1 }, { rule_id=300 active=1 match_pattern=".*" destination_hostgroup=10 apply=1 } ) mysql_users = ( { username = "sbtest" , password = "password" , default_hostgroup = 10 , active = 1 } )
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 severalnines/proxysql 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: