[故障解决]Mysql-Atlas从库始终没有建立连接怎么办?
最近发现阿里云线上环境有一台hls模块的数据库从库一直没有连接,而主库却一直连接不断。在阿里云控制后台看到连接情况如下图:
上图是主库的,下面那个是从库的,两者差距很大,可见这样的配置是错误的,因为读库根本没有使用,也就是说读库的那份钱是在浪费!
来到对应的atlas服务器查看配置,看到atlas 的配置里规定管理接口的用户名和密码是默认的原始套餐,端口被改成了2346,如下面,
于是我们就在模块服务器(也就是图里的online-hls-001)上登录这个atlas服务器的管理端口,看一下效果:
发现mysql根本没有反应,可当我们telnet去atlas的2346端口的时候,发现端口是通的:
于是我们返回到atlas 的配置文件,把这台hls模块服务器的ip地址添加到clients-ips这个字段里。
然后再用hls服务器去测试一下atlas的管理端口,#mysql -hatlas服务器ip地址 -uuser -ppwd,然后使用#select * from backends;,发现里面的两个库一个连接成功,另一个是失败的:
两个库都可以ping通,state却有这样的差别。由此可见这台atlas根本没有连接到从库,导致从库的连接数始终为0。这个时候我们就要检查从库配置的账号密码是否正确,而且在阿里云控制后台给从库开启这个atlas的白名单,然后重新启动这个mysql-proxy进程,再登录atlas管理端口查看,发现从库由down转up了:
但是此时的atlas日志里却出现了很多forbidden的warning的提示:
这时候我们返回atlas的配置文件,把之前的修改过的client-ips这个字段注释掉,让所有合法ip都连接,然后重启atlas,这样这种forbidden ip的警告日志就会消失。
稍等一会,就会看到从库上也会出现连接数了,至此一切恢复到正常状态,故障排除!
本次故障排除感谢https://highdb.com/?s=atlas 这位大神的帮助!
[补充1]
数据库访问使用了事务的话,从库也会建立连接,只是连接量要小于“非事务访问”,而不是一点连接都没有。
[补充2]
一般来说,在atlas配置文件里,主库写一个,而从库最好把主库和从库都写进去,如果希望从库承担读的任务多一点的话,可以把权重调高,比如我想从库与主库的读任务比是2:1,那么就可以这么写:
#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔 proxy-backend-addresses = 主库地址:3306 #Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔 proxy-read-only-backend-addresses = 从库地址:3306@2,主库地址:3306@1
![](/img/my/wx.png)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
linux学习:持续集成篇--Maven私有库和本地库的安装与配置-03
如果构建的Maven 项目本地仓库没有对应的依赖包,那么就会去Nexus 私服去下载,那么如果Nexus 私服也没有此依赖包,就回去远程中央仓库下载依赖,Nexus 私服下载成功后再下载至本地Maven 库供项目引用。 maven私服器Sonatype Nexus的安装与配置 1、安装 1.1下载 Nexus(这里使用的是:nexus-2.11.2-03-bundle.tar.gz) http://www.sonatype.org/nexus/go/ 1.2解压:因为解压后有两个文件夹,所以这里新建了一个nexus文件夹 [root@localhostopt]#mkdirnexus [root@localhostopt]#tar-zxvf/opt/tar/nexus-2.11.2-03-bundle.tar.gz-C/opt/nexus/ [root@localhostopt]#cdnexus/ [root@localhostnexus]#ls nexus-2.11.2-03sonatype-work [root@localhostnexus]# (一个 nexus 服务,一个私...
- 下一篇
在VMware workstation虚拟机上的Kali破解无线路由密码
破解过程中需要用到的有,kali的操作系统和一个给力的外置无线网卡还有破解字典 我这里用的是一个装在虚拟机上的kali和一个外置无线网卡,隔壁设置的无线密码太简单了,抓到握手包后字典跑一分多中就跑出密码来了,好运气。 废话不多说,接下来请看步骤。有图参考! 1 -------首先打开虚拟机上的kali, 把无线网卡连上虚拟机 2 --------打开一个终端,输入命令iwconfig查看自己无线网卡的名字,一般是wlan0,如果显示就说明网卡已经连上了 3 -------开启无线监控,输入命令airmon-ng start wlan0,如果看到有某个进程影响的话,直接kiil掉,直到没有提示。 4 -------然后接着输入airodump-ng mon0 开始监听抓包 5 ------开启监听后选择目标AP,就是输入airodump-ng-w loiter -c 1(信道号,要跟AP的信道一样) 6 -------打开新的终端,之前的不要关掉在新的终端输入aireplay-ng -0 10 -a AP'sMAC -c CP's MAC mon0,AP's MAC是B...
相关文章
文章评论
共有0条评论来说两句吧...