mysql proxy問題的解決方法
更新時(shí)間:2009年02月02日 14:23:19 作者:
最近試用mysql proxy,遇到若干問題,好在一一找到了解決方案,列出來備忘。這次使用的版本是0.6.x,也許新版本就沒有這些問題了。
無法通過mysql proxy連接mysql
在host,password正確的情況下,也會(huì)遇到無法連接mysql的情況,可以查查mysql server是不是使用了old_password,檢查my.cnf里面是不是有
PLAIN TEXT
CODE:
old_password = 1
有的數(shù)據(jù)庫是從老版本升級(jí)上來的,所以會(huì)開啟這個(gè)選項(xiàng),mysql proxy不支持old_password。另外也可以通過查看密碼長度的方式來判斷:
PLAIN TEXT
CODE:
select length(password) from mysql.user
如果長度為16位則是old_password無疑。
字符亂碼
通過proxy連上數(shù)據(jù)庫之后,查到的字符串始終是亂碼,即便手工執(zhí)行了set names 'utf8'也沒有效果。
解決辦法,mysql server必須設(shè)置
PLAIN TEXT
CODE:
[mysqld]
skip-character-set-client-handshake
init-connect='SET NAMES utf8'
default-character-set=utf8
一臺(tái)mysql slave當(dāng)?shù)糁?,mysql proxy會(huì)報(bào)錯(cuò)導(dǎo)致全部的mysql無法連接
安裝了mysql proxy實(shí)現(xiàn)讀寫分離,有master x 1, slave x 2。為了測試failover,停掉了一個(gè)slave,然后mysql proxy會(huì)一直報(bào)錯(cuò),提示無法連接。這個(gè)情況比單點(diǎn)的mysql還糟糕,掛掉一個(gè)就全掛掉!mysql的工程師給提供了一段代碼,替換掉src/network-mysqld-proxy.c的NETWORK_MYSQLD_PLUGIN_PROTO函數(shù)可以解決這個(gè)問題。
代碼比較長,直接附上下載地址: network-mysqld-proxy-function.c
定期crash
這個(gè)問題也很糟糕,mysql proxy經(jīng)常會(huì)自己悄悄的停止工作,所幸時(shí)間間隔很長。猜想是有內(nèi)存泄漏的問題存在,希望以后的版本能解決。
我采用的解決辦法就是晚上定期重啟它。
在host,password正確的情況下,也會(huì)遇到無法連接mysql的情況,可以查查mysql server是不是使用了old_password,檢查my.cnf里面是不是有
PLAIN TEXT
CODE:
復(fù)制代碼 代碼如下:
old_password = 1
有的數(shù)據(jù)庫是從老版本升級(jí)上來的,所以會(huì)開啟這個(gè)選項(xiàng),mysql proxy不支持old_password。另外也可以通過查看密碼長度的方式來判斷:
PLAIN TEXT
CODE:
復(fù)制代碼 代碼如下:
select length(password) from mysql.user
如果長度為16位則是old_password無疑。
字符亂碼
通過proxy連上數(shù)據(jù)庫之后,查到的字符串始終是亂碼,即便手工執(zhí)行了set names 'utf8'也沒有效果。
解決辦法,mysql server必須設(shè)置
PLAIN TEXT
CODE:
復(fù)制代碼 代碼如下:
[mysqld]
skip-character-set-client-handshake
init-connect='SET NAMES utf8'
default-character-set=utf8
一臺(tái)mysql slave當(dāng)?shù)糁?,mysql proxy會(huì)報(bào)錯(cuò)導(dǎo)致全部的mysql無法連接
安裝了mysql proxy實(shí)現(xiàn)讀寫分離,有master x 1, slave x 2。為了測試failover,停掉了一個(gè)slave,然后mysql proxy會(huì)一直報(bào)錯(cuò),提示無法連接。這個(gè)情況比單點(diǎn)的mysql還糟糕,掛掉一個(gè)就全掛掉!mysql的工程師給提供了一段代碼,替換掉src/network-mysqld-proxy.c的NETWORK_MYSQLD_PLUGIN_PROTO函數(shù)可以解決這個(gè)問題。
代碼比較長,直接附上下載地址: network-mysqld-proxy-function.c
定期crash
這個(gè)問題也很糟糕,mysql proxy經(jīng)常會(huì)自己悄悄的停止工作,所幸時(shí)間間隔很長。猜想是有內(nèi)存泄漏的問題存在,希望以后的版本能解決。
我采用的解決辦法就是晚上定期重啟它。
相關(guān)文章
MySQL聯(lián)合查詢實(shí)現(xiàn)方法詳解
聯(lián)合查詢union將多次查詢(多條select語句)的結(jié)果,在字段數(shù)相同的情況下,在記錄的層次上進(jìn)行拼接,這篇文章主要給大家介紹了關(guān)于Mysql聯(lián)合查詢的那些事兒,需要的朋友可以參考下2022-11-11idea中使用mysql的保姆級(jí)教程(超詳細(xì))
我們開發(fā)時(shí)經(jīng)常需要用到一些客戶端去訪問數(shù)據(jù)庫查詢、更新數(shù)據(jù)等操作,下面這篇文章主要給大家介紹了關(guān)于idea中使用mysql的保姆級(jí)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04