MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4953|回复: 10
打印 上一主题 下一主题

mysql-proxy 读写分离 的错误

[复制链接]
跳转到指定楼层
1#
发表于 2012-4-6 15:30:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用ip:4040 端口登录有时提示 1047 错误   mysqli_connect(): (08S01/1047): Unknown command
使用 top 查看进程 ,只要已出现 mysql-proxy 进程 ,就提示 空命令1047

使用localhost:4040访问,就不报错,但永远都不执行从库
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶1 踩
2#
发表于 2012-4-6 17:19:03 | 只看该作者
先查看错误日志...
检查下文件及文件夹权限。
3#
 楼主| 发表于 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
        }
4#
发表于 2012-4-9 14:05:53 | 只看该作者
什么未知命令呢?
5#
 楼主| 发表于 2012-4-9 14:28:08 | 只看该作者
就是直接用  mysql -uroot -p -h192.168.1.2 -P4040  登录,就提示
(08S01/1047): Unknown command
6#
发表于 2012-4-9 17:10:01 | 只看该作者
看看环境变量
或者把路径写全试试
7#
 楼主| 发表于 2012-4-9 21:48:59 | 只看该作者
高手们,偶新手呀,能否说的详细点呀。偶是  linux 查看哪个环境变量 把哪个路径写全
能否说的详细点呀。谢谢了。
8#
发表于 2012-4-10 11:21:07 | 只看该作者
看看你的mysql命令在那里: which mysql, 然后把路径加上;或在配置文件中 ~/.bash_profile中配置环境变量。
如:
/usr/local/mysql/bin/mysql -uroot -p -h192.168.1.2 -P4040  登录
9#
 楼主| 发表于 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
         }
10#
 楼主| 发表于 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
11#
发表于 2016-2-2 09:36:37 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-1 18:42 , Processed in 0.074752 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表