cxzlr 发表于 2012-4-6 15:30:25

mysql-proxy 读写分离 的错误

使用ip:4040 端口登录有时提示 1047 错误   mysqli_connect(): (08S01/1047): Unknown command
使用 top 查看进程 ,只要已出现 mysql-proxy 进程 ,就提示 空命令1047

使用localhost:4040访问,就不报错,但永远都不执行从库

kider 发表于 2012-4-6 17:19:03

先查看错误日志...
检查下文件及文件夹权限。

cxzlr 发表于 2012-4-9 10:58:25

高手,检查哪个文件夹的权限
我的架构是这样的   192.168.1.2:4040 mysql-proxy
                               192.168.1.2:3306 主库
                   192.168.1.3:3306 从库
我该检查哪个机器的权限,要给予什么样的权限
我通过   mysql -uroot -p -h192.168.1.3 -P3306
            mysql -uroot -p -h192.168.1.2 -P3306
             都通正常登录
但只要使用
   mysql -uroot -p -h192.168.1.2 -P4040
       有时就会出现 (08S01/1047): Unknown command而助出现的非常频繁
如果我把rw-splitting.lua是的connections 的值修改成了如下

proxy.global.config.rwsplit = {
                min_idle_connections = 1,
                max_idle_connections = 2,

                is_debug = false
      }

kider 发表于 2012-4-9 14:05:53

什么未知命令呢?

cxzlr 发表于 2012-4-9 14:28:08

就是直接用mysql -uroot -p -h192.168.1.2 -P4040登录,就提示
(08S01/1047): Unknown command

admin 发表于 2012-4-9 17:10:01

看看环境变量
或者把路径写全试试

cxzlr 发表于 2012-4-9 21:48:59

高手们,偶新手呀,能否说的详细点呀。偶是linux 查看哪个环境变量 把哪个路径写全
能否说的详细点呀。谢谢了。

kider 发表于 2012-4-10 11:21:07

看看你的mysql命令在那里: which mysql, 然后把路径加上;或在配置文件中 ~/.bash_profile中配置环境变量。
如:
/usr/local/mysql/bin/mysql -uroot -p -h192.168.1.2 -P4040登录

cxzlr 发表于 2012-4-10 12:13:38

我通过命令查看
env


PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/admin/bin:/usr/bin/mysql

还是会报那个   (08S01/1047): Unknown command

如果我把rw-splitting.lua是的connections 的值修改成了如下
如果把    min_idle_connections的值改大点的话,就出现的报错的机率小一些。
    proxy.global.config.rwsplit = {
               min_idle_connections = 1,
               max_idle_connections = 2,

                is_debug = false
         }

cxzlr 发表于 2012-4-10 15:13:53

本人经过检查发现
rw-splitting.lua中 read_auth_result 函数 走的是 print ("<--auth ... don't know: " .. string.format("%q",auth.packet));的
认证失败。为什么呀
寻 mysql-proxy 高手

function read_auth_result(auth)
local state=auth.packet:byte()

if state==proxy.MYSQLD_PACKET_OK then
print ("<-- auth ok");
elseif state==proxy.MYSQLD_PACKET_ERR then
print ("<-- auth failed")
else
print ("<--auth ... don't know: " .. string.format("%q",auth.packet));
end
end

my1bbs1 发表于 2016-2-2 09:36:37

看看












http://js.ufstone.net/img/sigline.gif
北京华盛癫痫病医院好吗
北京癫痫病专科医院排名
北京华盛癫痫病医院
昆明军海癫痫病医院
昆明军海医院怎么样
北京华盛癫痫病医院
北京华盛癫痫病医院
云南昆明军海医院
北京华盛医院怎么样
昆明军海癫痫病医院
北京华盛癫痫病医院
昆明军海癫痫病专科医院
页: [1]
查看完整版本: mysql-proxy 读写分离 的错误