mysql proxy问题的解决方法

2016-02-19 10:29 4 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是mysql proxy问题的解决方法,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

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

PLAIN TEXT

CODE:
代码如下:

old_password = 1

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

PLAIN TEXT
CODE:
代码如下:

select length(password) from mysql.user

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

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

解决办法,mysql server必须设置

PLAIN TEXT
CODE:
代码如下:

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1594809.html

延伸阅读
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.util; import java.io.UnsupportedEncodingException; import java.sql.*; /** * * @author swing */ public class DbUtility {     private Connection conn = null;     private ResultSe...
G一下后,解决如下: /var/lib/mysql目录下,删除ibdata1、ib_logfile1、 ib_logfile0,然后重启MySql让其重建以上文件: mysqladmin -uroot -p shutdown sudo mysqld_safe & 搞定! 下面是网络上的其它文章。大家也可以参考下。 早上起来,到PHP站点去看了下,准备测试下别人写的一个CMS系统,高兴的下载了程序,然后把程序拷贝到所在目录...
解决方法如下: 1、先删除mysql服务 控制面板-管理工具-服务,先停止mysql服务 开始-运行-输入cmd-sc delete mysql 服务删除 2、修改my.ini 如果没将其创建(以下设置可以参考http://hi.baidu.com/chuyanwu/blog/item/98142a2e7d448d564ec2262c.html一般这个设置都不会错误) [mysqld] # set basedir to your installation path ba...
1  安装MYSQL后更改了ROOT的密码后用  net startmysql  启动时我就遇到了这样的问题.使用以下命令后  c:\mysql\bin\mysqladmin-u root -p shutdown  再net start mysql就没有这个错误提示了!  *************  2  MySQL的1067错误  Q:我的Mysql碰到...
标签: MySQL mysql数据库
1 安装MYSQL后更改了ROOT的密码后用 net startmysql 启动时我就遇到了这样的问题.使用以下命令后 c:\mysql\bin\mysqladmin-u root -p shutdown 再net start mysql就没有这个错误提示了! 2 MySQL的1067错误 Q:我的Mysql碰到了 1067 错误 错误信息为: A system error has occurred. System error 1067 has occurred. Th...

经验教程

180

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部