MariaDB社区

标题: mysql-proxy 读写分离 的错误 [打印本页]

作者: cxzlr    时间: 2012-4-6 15:30
标题: mysql-proxy 读写分离 的错误
使用ip:4040 端口登录有时提示 1047 错误   mysqli_connect(): (08S01/1047): Unknown command
使用 top 查看进程 ,只要已出现 mysql-proxy 进程 ,就提示 空命令1047

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

作者: kider    时间: 2012-4-6 17:19
先查看错误日志...
检查下文件及文件夹权限。
作者: cxzlr    时间: 2012-4-9 10:58
高手,检查哪个文件夹的权限
我的架构是这样的   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
什么未知命令呢?
作者: cxzlr    时间: 2012-4-9 14:28
就是直接用  mysql -uroot -p -h192.168.1.2 -P4040  登录,就提示
(08S01/1047): Unknown command
作者: admin    时间: 2012-4-9 17:10
看看环境变量
或者把路径写全试试
作者: cxzlr    时间: 2012-4-9 21:48
高手们,偶新手呀,能否说的详细点呀。偶是  linux 查看哪个环境变量 把哪个路径写全
能否说的详细点呀。谢谢了。
作者: kider    时间: 2012-4-10 11:21
看看你的mysql命令在那里: which mysql, 然后把路径加上;或在配置文件中 ~/.bash_profile中配置环境变量。
如:
/usr/local/mysql/bin/mysql -uroot -p -h192.168.1.2 -P4040  登录
作者: cxzlr    时间: 2012-4-10 12:13
我通过命令查看
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
本人经过检查发现
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
看看













北京华盛癫痫病医院好吗
北京癫痫病专科医院排名
北京华盛癫痫病医院
昆明军海癫痫病医院
昆明军海医院怎么样
北京华盛癫痫病医院
北京华盛癫痫病医院
云南昆明军海医院
北京华盛医院怎么样
昆明军海癫痫病医院
北京华盛癫痫病医院
昆明军海癫痫病专科医院




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2