一个简单的MySQL参数导致的连接问题解惑(r7笔记第33天)

最近在做一套MySQL环境的数据迁移,需要把一部分数据从一个站点迁移到另外一个站点,新站点是一套全新的环境,对于MySQL的安装采用了同事建议的 二进制方式。当然安装的过程比起Oracle的安装看起来要简单很多了。基本做到了一键安装的程度。因为对于MySQL还是有很多的盲点,所以感觉还是有 些心虚,当然态度是虚心的了。可能很多问题处理起来就不会像Oracle那样理直气壮了。这可能也是好事。 数据库安装很快就做好了,而且里面的很多参数也采用了一定的规则去匹配一些参数值,所以自己也没做其它的改变就直接使用了。使用mysqldump从源站 点导出数据在目标站点导入。看起来倒也是蛮顺利的。接着按照源站点的用户ip和目标站点的用户ip进行了映射,看似大功告成。然后对相应的客户端开通了防 火墙权限,简单本地测试连接了一下都没问题,就让开发的同事来进行联调了。 但是过了一会儿,他们反馈说连接有问题,自己还是有些心虚,感觉是不是哪里还是有问题, 他们反馈的问题是使用telnet连接端口3308不通。 比如端口是telnet 10.172.13.23 3308 Trying 10.172.13.23... telnet: connect to address 10.172.13.23: Connection refused 对于这个问题,自己也是再三查看了防火墙的设置,没有发现问题。自己也连接到他们所在的客户端去看,发现问题确实存在,但是开了ssh的22端口是没有问题的。 查看数据库中的端口参数,发现竟然是0 > show variables like '%port%'; +---------------------+-------+ | Variable_name | Value | +---------------------+-------+ | extra_port | 0 | | innodb_support_xa | ON | | large_files_support | ON | | port | 0 | | report_host | | | report_password | | | report_port | 0 | | report_user | | +---------------------+-------+ 8 rows in set (0.00 sec) 查看了一下参数文件的设置 #grep port /etc/my.cnf port = 3308 端口也没有发现问题。查看数据库的日志,发现了下面这么一段内容。 2015-11-27 18:28:32 9364 [Note] Event Scheduler: Loaded 0 events 2015-11-27 18:28:32 9364 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.6.23-72.1' socket: '/home/mysql/mysql.sock' port: 0 Percona Server (GPL), Release 72.1, Revision 0503478 从日志来看也没有提示警告或者错误。 于是带着疑问去问几个同事,他们可能认为这个问题不是一个简单的问题,我们也分析了一下参数文件的设置格式,端口,防火墙的限制等等。 我们也在怀疑是不是网络层做了什么限制,导致3308的端口无法启用,然后找到系统组的同事帮忙看看,他们直接用了nc的方式开启一个3308的端口,然后使用telnet连接就成功了,看来不是系统中网络层设置的限制,那么问题又回到了数据库层面。 但是做了多次尝试,还是无果,最后感觉是不是提供的经典模板不靠谱啊。于是从原来的环境中拷贝了一份参数文件,除了个别参数不兼容外,做了修改,总算是把库给带起来了,查看端口,这次终于对了,是3308. 但是两个参数文件的参数其实设置也还是蛮多的,自己最开始也就想跳过就算了。不过感觉这种问题处理,这次侥幸通过了,下次还是会出现。没找到根本,自己感觉也不踏实。 同事也建议我做一个strace来看看。 strace /usr/local/mysql/bin/mysqld —defaults-file=/etc/my.cnf & 但是从trace的情况来看,还是没有找到更多的有效信息。 在大晚上开始准备试一试,准备好两个参数文件,准备sdiff一下来看看。比较的结果如下,左边的是没有问题的,端口正常开放的,右边的是存在连接问题的。

这是一部分的参数对比情况,自己也是对比了一部分,但是从个别几个参数调整来重启测试,还是没有找到答案。 今天在和同事聊天的过程中,经同事提醒才发现原来是skip-networking导致的,这个参数启用,则意味着没有了网络访问,只有本机的访问连接, 一种用法其实在做维护的时候,为了防止更多的客户端连接进来,就可以采用这种方式。看来自己绕了一个大圈子,最后竟然原因是一个看似简单的参数导致。简答 调整之后,问题就自然修复了。 所谓吃一堑长一智,这种错误以后碰到就会更加从容。看来MySQL的参数也需要好好琢磨琢磨了,还有一大堆的坑等着我去踩:)

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2015-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

Apache与Nginx的优缺点比较

Apache与Nginx的优缺点比较 1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,...

3566
来自专栏linux、Python学习

Linux运维工程师必备的80个监控工具全集(上)

随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。

1460
来自专栏Rainbond开源「容器云平台」

开源Rainbond发布v3.4.2更新:应用插件体系进入beta版本

1343
来自专栏蛋未明的专栏

Node.Js执行原理图引发的思考

2033
来自专栏数据和云

GR运维手册 - 第一册 苦海岸边,GR的基础知识

作者简介: ? 刘伟 云和恩墨开源解决方案事业部首席架构师 多年一线互联网企业DBA经历,对MySQL、NoSQL,PostgreSQL等各类开源数据库均有涉猎...

3056
来自专栏杨建荣的学习笔记

Windows环境下搭建Oracle 12c的体验

昨天准备一个Oracle环境,结果看起来是很简单的事情,却因为各种各样的原因耽搁了一些时间,从下载到安装部署,已经几个小时过去了,抬头看看,已经是凌晨快2点了。...

1220
来自专栏携程技术中心

干货 | 携程安全自动化测试之路

作者简介 陈莹,携程信息安全部安全开发工程师。2013年加入携程,主要负责各类安全工具的研发,包括线上日志异常分析,实时攻击检测, 漏洞扫描等。 一、背景 业...

4096
来自专栏木头编程 - moTzxx

微信公众平台开发[4] —— ThinkPHP 框架下微信支付

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

2722
来自专栏Java后端技术栈

Apache Kafka:下一代分布式消息系统

Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在...

931
来自专栏信安之路

记一次有趣的渗透测试

最近在做渗透测试的练习中遇到一个比较有意思的站点,在此记录下来,希望能给向我一样刚入安全圈不久的萌新提供一些基本思路吧。

1930

扫码关注云+社区

领取腾讯云代金券