请问obproxy4.3.2 如何设置obproxy管理员root@proxysys的密码?

我是按照这个方式部署obproxy的


详见https://ask.oceanbase.com/t/topic/28800061

在obproxy4.3.2使用root@proxysys提示登录不了,但是在obproxy4.2.1和4.2.3上都可以登录的
mysql -h127.0.0.1 -uroot@proxysys -P2883 -p
Enter password:
ERROR 1045 (42000): Access denied for user ‘root@proxysys’@‘127.0.0.1’ (using password: NO)

问题如下:
1、4.3.x的obproxy相对于obproxy4.2.x在管理员账号root@proxysys登录上有什么不同吗?
2、设置obproxy管理员root@proxysys的密码的时候,-h只能指定127.0.0.1吗?不能通过远程IP登录修改吧?
3、不同版本的obproxy,root@proxysys有默认密码吗?如果有的话,不同版本的默认密码不一样吗?

1.没有不同
2.正常情况下127.0.0.1和本机IP都可以登陆
3.这种rpm包部署方式没有默认密码

请参考如下方式进行部署

通过命令行部署 ODP

https://www.oceanbase.com/docs/common-odp-doc-cn-1000000001600961

这个文章比较早了,当时的obproxy 版本的用户 root@proxysys 默认密码是空的,后面版本可能有些变化。
不管如何变化,都有一个办法应对,就是启动 obproxy 的时候增加一个参数 obproxy_sys_password=,参考下面

cd /opt/taobao/install/obproxy && bin/obproxy -p 2883 -n obproxyapp -c obdemo -r 10.0.0.65:2881 -o "obproxy_sys_password=,proxy_idc_name=hz"
1 个赞

1、但是测试上确实有不同,4.2.x的obproxy,mysql -h127.0.0.1 -uroot@proxysys -P2883 -p这样可以直接登录,4.3.x就登录不了
2、我这边再4.2.x的obproxy测试,只能127.0.0.1上登录,本机IP无法登录,请问这是为什么呢

3、看了下这个问题,obproxy启动需要传入sha1加密后的密码,和上面文档的登录再修改密码的方式是不一样的。
另外sha1密码,可以通过select sha1(‘password’)的方式获取吗?

通过命令行部署 ODP

https://www.oceanbase.com/docs/common-odp-doc-cn-1000000001600961

通过启动obproxy添加obproxy_sys_password=参数,可以通过mysql -h127.0.0.1 -uroot@proxysys -P2883 -p这种方式不输入密码访问的。
已测试验证通过

1 个赞

432版本

通过本机IP登陆

通过127.0.0.1登陆

你不能登录看看是否iptables有做限制,hosts配置是否正确

sha1密码,可以通过select sha1(‘password’)的方式获取

1 个赞

我用obclient客户端试下,我用的是mysql5.7的客户端。
另外方便发下obproxy启动的参数吗?

我这里使用ocp部署的obproxy,不过预期结果是一样的

/home/admin/obproxy/bin/obproxy -p 2883 -n lxltest_proxy -o server_tcp_keepcnt=2,client_tcp_keepcnt=2,client_sock_option_flag_out=3,server_tcp_keepintvl=5,client_tcp_keepidle=5,rpc_listen_port=2885,prometheus_sync_interval=1s,sock_option_flag_out=3,obproxy_config_server_url=http://xx.xx.xx.xx:8080/services?User_ID=alibaba&UID=test&Action=GetObProxyConfig&ObproxyClusterName=lxltest_proxy,prometheus_listen_port=2884,client_tcp_keepintvl=5,enable_metadb_used=false,skip_proxy_sys_private_check=true,log_dir_size_threshold=10G,proxy_mem_limited=2G,enable_full_username=true,enable_proxy_scramble=true,enable_strict_kernel_release=false,server_tcp_keepidle=5

在obproxy 4.2.3测试的,发现是否能通过本机IP本机或者远程登录是受
skip_proxy_sys_private_check参数影响的,跟obclient和mysql客户端没有关系。
true的话,可以通过本机IP本机或者远程登录;
false的话,无法通过本机IP本机或者远程登录,只能127.0.0.1登录。

在4.2.3版本测试skip_proxy_sys_private_check参数默认值是false,但官方文档却说默认值True,是否有反馈的渠道

我这边之前测试只传入了如下3个参数,skip_proxy_sys_private_check默认值为false,所以只能通过127.0.0.1登录
-o “enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false”

1 个赞

如果文档描述错误 我可以反馈下,另外官网问答区可以通过“文档”标签反馈文档问题

1 个赞

我查了下源码,这个参数skip_proxy_sys_private_check从4.2.1及之后版本默认值变为了false,之前版本是true,文档的确将默认值写错了,这个我反馈下,感谢您的反馈

2 个赞