绝大多数人没玩过也没见过的:多个MYSQL进程共用一个3306端口-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

绝大多数人没玩过也没见过的:多个MYSQL进程共用一个3306端口

2016-07-02 23:20:30 5207 3

各位客官听我讲,事情的过程是这样的:

   10年前,公司有一个中型网站,服务器托管在IDC机房。网站是一拨老技术搞的,后来网站不商业运营了,老技术都离职,现已渺然于网络中。但网站还是要继续技术性维护(就是能打开),后来转到我手来维护。我嫌IDC机房繁琐不方便,把网站从IDC机房转到了阿里云。
   转移到阿里云和部署都正常,但是部署完成后,发现一个问题,性能很低,MYSQL经常卡死,没道理啊。云服务器比以前的IDC服务器配置好很多,还用的是SSD硬盘,整个WEB和MYSQL配置都一样。(别嘲笑,都是1台服务器,当年也撑起日均60万+IP)
  在查性能瓶颈的时候,发现MYSQL进程占用CPU特别高。 我把IDC机房的服务器(迁移到阿里云后保留了一段时间)MYSQL和云服务器的MYSQL进程比较了一下,这一比较,发现一个惊天现象,绝大多数人都没见过的现象。

  在常识里,一个MYSQL多进程,只能一个进程占用一个端口。3306端口占用了,其他进程就不能继续使用。而IDC机房服务器有20个MYSQL进程,都用了同一个3306端口!!!  (上图,眼见为实)
 
 ![p1](https://oss-cn-hangzhou.aliyuncs.com/yqfiles/1d24fd780acc97b8a90519454a827e0a7a9fa484.jpeg)

 ![p2](https://oss-cn-hangzhou.aliyuncs.com/yqfiles/8475713767d5254ae9fb0682830d861c72060ac8.jpeg)

 ![p3](https://oss-cn-hangzhou.aliyuncs.com/yqfiles/6ab143d1a25dfcac4f3de1f4a1b5f1501905a7d5.jpeg)

   这台IDC服务器是20个MYSQL进程,相当于20个MYSQL单进程的处理能力,难怪配置更好的阿里云服务器反而卡,因为阿里云只运行了一个3306端口的MYSQL,而不是20个3306端口的MYSQL!

 当时也想依葫芦画瓢,也做出来20个运行于同一个3306端口的MYSQL,搜遍了百度,GOOGLE,都找不到类似的案列。所谓的mysqld_multi都是运行于不同的端口。 搜索引擎靠不住,就问高手,以前的技术找不到,问了一下阿里的高手(可能没问对人),没没人知道。

 后来发现IDC服务器用的MYSQL版本是PerconaServer5.1.52,而aliyun服务器是普通的mysql Distrib 5.1.7。以为只是MYSQL 版本的问题,但是下载了PerconaServer5.1.52使用,也搞不出来20个MYSQL进程都用3306端口。继续研究发现只用IDC服务器上的PerconaServer5.1.52,在aliyun服务器上使用以下命令

/alidata/server/PerconaServer5.1.52/libexec/mysqld --basedir=/alidata/server/PerconaServer5.1.52 --datadir=/alidata/server/PerconaServer5.1.52/data --user=root --log-error=/alidata/server/PerconaServer5.1.52/data/myserver.err --open-files-limit=8192 --pid-file=/alidata/server/PerconaServer5.1.52/data/myserver.pid --socket=/tmp/mysql.sock --port=3306。也能生成20个运行在3306端口的MYSQL进程,我怀疑是IDC机房PerconaServer5.1.52编译参数不一样的缘故。

后来在aliyun服务器上通过别的方式,优化了一下MYSQL的使用频次,可以将就用了(反正不商用)。但这个20个MYSQL进程都运行在3306端口一直是个心病。 今天突然想起,故发在这里,请真正的MYSQL技术大牛能解惑啊!
取消 提交回答
全部回答(3)
添加回答
相关问答

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 123062浏览量 回答数 10

20

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1221741浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159393浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 340439浏览量 回答数 8

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133136浏览量 回答数 2

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 262853浏览量 回答数 39

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 309287浏览量 回答数 251

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 124717浏览量 回答数 97

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205389浏览量 回答数 2

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 122929浏览量 回答数 11
+关注
0
文章
3
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载