zoukankan      html  css  js  c++  java
  • mysql proxy 中文乱码解决办法

    最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。

    无法通过mysql proxy连接mysql

    在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有

    old_password =1

    有的数据库是从老版本升级上来的,所以会开启这个选项,mysql proxy不支持old_password。另外也可以通过查看密码长度的方式来判断:

    select length(password)from mysql.user

    如果长度为16位则是old_password无疑。

    字符乱码

    通过proxy连上数据库之后,查到的字符串始终是乱码,即便手工执行了set names ‘utf8′也没有效果。

    解决办法,mysql server必须设置

    [mysqld] skip-character-set-client-handshake init-connect='SET NAMES utf8'default-character-set=utf8

    5.5 下面要写成

    init-connect='SET NAMES utf8'
    character-set-server=utf8

    一台mysql slave当掉之后,mysql proxy会报错导致全部的mysql无法连接

    安装了mysql proxy实现读写分离,有master x 1, slave x 2。为了测试failover,停掉了一个slave,然后mysql proxy会一直报错,提示无法连接。这个情况比单点的mysql还糟糕,挂掉一个就全挂掉!mysql的工程师给提供了一段代码,替换掉src/network-mysqld-proxy.cNETWORK_MYSQLD_PLUGIN_PROTO函数可以解决这个问题。

    代码比较长,直接附上下载地址: network-mysqld-proxy-function.c

    定期crash

    这个问题也很糟糕,mysql proxy经常会自己悄悄的停止工作,所幸时间间隔很长。猜想是有内存泄漏的问题存在,希望以后的版本能解决。

    我采用的解决办法就是晚上定期重启它。

  • 相关阅读:
    python的paramiko模块简单应用
    python单线程下实现多个socket并发
    python之协程
    python之生产者消费者模型
    python进程之间修改数据[Manager]与进程池[Pool]
    python的进程间的数据交互
    vmware搭建vSAN提示磁盘不合格或者看不到磁盘的解决办法
    python之多并发socket
    OOP的几个不常用的方法
    HTTP 头和 PHP header() 函数
  • 原文地址:https://www.cnblogs.com/youlechang123/p/2788467.html
Copyright © 2011-2022 走看看