search
HomeDatabaseMysql Tutorialmysql proxy 读写分离脚本的问题_MySQL

     提示:听说mysql proxy 0.7.0即将发布,正好前些日子从bzr上获取mysql proxy的代码编译过,看看当时bzr的版本号,和现在也差不了多少。


听说mysql proxy 0.7.0即将发布,正好前些日子从bzr上获取mysql proxy的代码编译过,看看当时bzr的版本号,和现在也差不了多少。在这期间,我又花了一些时间把mysql配置成读写分离,出了不少状况,由于使用的人不太多,解决问题超费劲――搜索不到有帮助的内容啊。

但是我可能是比较幸运的,最后成功的实现了读写分离,目前在开发环境运行的比较稳定,所以有必要做个笔记分享一下。

读写分离脚本的问题
刚启动mysql proxy的时候,经常报错 -- "Mysql server has gone away"。我进一步缩小了可能出问题的范围(把环境简化是很重要的查错手段),比如只连接一个mysql,或者只连接本机的mysql,没有太大帮助,最后是在mysql proxy的日志文件中看到些蛛丝马迹:

(critical) proxy-plugin.c:1367: (connect_server) [string "/usr/local/share/mysql-proxy/r..."]:69: .address is deprecated. Use .src.name or .dst.name instead
(critical) (read_query) [string "/usr/local/share/mysql-proxy/r..."]:179: .address is deprecated. Use .src.name or .dst.name instead
(critical) proxy-plugin.c.1115: I have no server backend, closing connection

在mysql proxy的论坛上看到有人碰到类似的问题,很简单,读写分离的lua脚本还是旧的,0.6.1时代的产物了,更糟糕的是,即便是即将发布的0.7.0,rw-splitting.lua也是旧版本的。lua脚本中的.address需要替换成.src.name或者.dst.name。

解决办法 ―― 下载更新之后的rw-splitting.lua,情况会好转。

使用prepare方法无法获得结果
我在测试代码中采用php的pdo_mysql,单独连接mysql是毫无问题的,然而配合mysql proxy使用则是屡屡受挫,查询经常没有结果返回,比较随机,从日志中也找不到有帮助的内容。这次没有找到解决办法,所以我绕了过去,在连接mysql 的时候使用伪prepare的方式:

 

PHP:
$option = array(PDO::ATTR_EMULATE_PREPARES => 1);
据称emulate方式的性能比prepare要好,所以这也算安慰奖了。

专门的lua脚本分支
lua脚本开发滞后,是一个比较严重的问题,所以在邮件组上看到有个新的lua脚本分支出来 ―― https://launchpad.net/mysql-proxy-lua-scripts。希望开发速度能跟上来。

 


keepalive参数
mysql proxy还不算太稳定,偶尔crash我也不觉得惊讶,所以新增的keepalive参数很有用。在proxy启动的时候,加上--keepalive参数,它便会努力保持proxy的运行状态,停止了也会自动重启。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP8.1发布:引入curl多个请求并发处理PHP8.1发布:引入curl多个请求并发处理Jul 08, 2023 pm 09:13 PM

PHP8.1发布:引入curl多个请求并发处理近日,PHP官方发布了最新版本的PHP8.1,其中引入了一个重要的特性:curl多个请求并发处理。这个新特性为开发者提供了一个更加高效和灵活的方式来处理多个HTTP请求,极大地提升了性能和用户体验。在以往的版本中,处理多个请求往往需要通过创建多个curl资源,并使用循环来分别发送和接收数据。这种方式虽然能够实现目

最低3999元!消费级真AR眼镜雷鸟X2正式发布最低3999元!消费级真AR眼镜雷鸟X2正式发布Oct 13, 2023 pm 05:25 PM

【CNMO新闻】北京时间10月13日14点,雷鸟科技正式召开了雷鸟创新新品发布会。在此次发布会上,雷鸟为消费者带来了消费级真AR眼镜——雷鸟X2,新品售价4999元,首发用户可享4499元,而所有此前购买过雷鸟产品或者类似友商产品的用户,则可享受3999元的优惠价。雷鸟X2采用无线一体化设计,能够像普通眼镜那般,不会遮挡正常眼神。新眼镜还配备有前置摄像头,拥有5P镜头和1600万像素,可以带来第一视角画面,同时其还支持息屏拍照,只需滑动镜角就可以更好的捕捉那些稍纵即逝的画面。新AR眼镜还配备有光

马自达计划于2024年发布全新马自达6车型马自达计划于2024年发布全新马自达6车型Sep 30, 2023 pm 02:21 PM

马自达公司最近透露了备受期待的计划,据官方消息,全新的马自达6将于2024年上半年正式发布,并计划在同年年底上市销售。这款全新的马自达6将采用全新的后驱平台,为马自达的车型带来全新的驾驶动力体验马自达的欧洲开发与工程负责人JoachimKunz在最近的一次采访中表示,虽然他们正在开发新平台,但这一平台不会被用于生产全新一代的马自达5轿车,也不会用于其他大型运动轿车的制造。这一决策似乎反映了市场需求的变化,因为现今的消费者更加偏好SUV车型,而不是传统的轿车。Kunz进一步指出,尽管六缸发动机和后

长微博怎么发布长微博怎么发布Feb 29, 2024 pm 02:04 PM

在软件微博中可以安好需要发布不同格式的微博文章。有不少用户不太清楚长微博怎么发布。在发布页面的更多中选择长微博,完成编辑并发布即可。这篇长微博发布方法介绍就能够告诉大家具体内容,下面就是详细介绍,赶紧看看吧!微博使用教程长微博怎么发布答:在发布页面的更多中选择长微博,完成编辑并发布即可具体介绍:1、登陆微博,点击下方的【+】。2、选择右侧的【更多】。3、点击【长微博】。4、进行文章编辑后,点击【完成】。5、再点击右上角的【发布】。6、即可成功发布长微博了。

全国首个DNA存储模型"ChatDNA"亮相发布全国首个DNA存储模型"ChatDNA"亮相发布May 29, 2023 pm 06:31 PM

5月22日消息,今天的中国日期。在浙江嘉善举办的祥符创新论坛转化医学产业高峰论坛取得了圆满成功。据ITBEAR科技资讯了解,该论坛旨在围绕精准医学及生命科学前沿热点问题展开讨论,并分享最新的诊断技术、基因测序等前沿领域的进展,以推动医学产业的健康发展。与会专家汇聚一堂,分享实践经验和创新思路。论坛期间,还举行了重磅发布和联盟签约仪式。上海人工智能研究院、祥符实验室以及转化医学国家科学中心(上海)联合发布了全国首个DNA存储领域预训练大模型——"ChatDNA"。该模型的发布将

今日头条怎么发布自己的作品今日头条怎么发布自己的作品Feb 23, 2024 pm 09:19 PM

今日头条怎么发布自己的作品?今日头条中是可以发布喜爱的文章作品的,但是多数的小伙伴不知道今日头条如何的发布作品,接下来就是小编为用户带来的发布自己的作品方法图文教程,感兴趣的用户快来一起看看吧!今日头条怎么发布自己的作品1、首先打开今日头条APP,进入到主页面点击右下角【我的】专区;2、然后在我的专区,滑动选择【创作中心】服务功能;3、之后在创作中心的界面,点击右上角的【发布】;4、接着下方展开多功能栏,选择你需要发布作品的方式;5、最后编辑文章点击右上角的【发布】即可发布自己的作品。

RTX5090什么时候发布RTX5090什么时候发布Feb 18, 2024 pm 04:42 PM

50系显卡预计将会在2024年年底进行发布,从第四季开始将会陆续发布,不过50系显卡笔记本预计要等待27年才会进行发售。RTX5090什么时候发布:答:2024年年底之前1、自2024年第四季开始,NVIDIA首推50系列显卡,预计2024年内正式发布,5090与5080预计秋季冬季上市,70和60则定在2025年公布。同期,NVIDIA自产产品预定2023年面世。值得注意的是,50系列笔记型电脑推广需待时日,或需等到2027年前后方能问世。2、目前,初步预计RTX50系列显卡至少要到2024年

如何在uniapp中实现小程序开发和发布如何在uniapp中实现小程序开发和发布Oct 20, 2023 am 11:33 AM

如何在uni-app中实现小程序开发和发布随着移动互联网的发展,小程序成为了移动应用开发的一个重要方向。而uni-app作为一个跨平台的开发框架,可以同时支持多个小程序平台的开发,如微信、支付宝、百度等。下面将详细介绍如何使用uni-app开发和发布小程序,并提供一些具体的代码示例。一、小程序开发前准备在开始使用uni-app开发小程序之前,需要做一些准备工

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools