【参考文章】:net.ipv4.ip_local_port_range 的值究竟影响了啥

【参考文章】:Linux内核参数优化

  最近卸载MySQL服务偶尔会遇到MySQL端口自连接问题。导致MySQL服务卸载失败,需要手动 kill  自连接进程,然后才可以进行卸载操作。

  什么是自连接问题?

  自连接就是自己连接自己的现象。当我们去连接一个正在监听的端口时,系统自动为我们分配一个临时端口去进行连接,这样就有可能分配到正在监听的端口号,然后出现自己连接自己的问题。

1. 临时端口号

  当在服务器上了启动 socket 去连接某个IP的端口号时,系统会随机分配一个临时端口去连接目标 socket 。

  临时端口号的范围可以进行设置。

  vim  /etc/sysctl.conf

  net.ipv4.ip_local_port_range=1024  65535  # 表示的就是临时端口范围,默认范围是 1024-65535,

  好像支持一个端口段的设置,没有找到多个端口段的设置方式。

  我按照默认的配置方式,设置了多个端口段 (比如:1024  3306  3307  65535)我是瞎蒙的,经测试发现只有第一个端口段生效了,所以暂时认为只支持一个端口段

2. 预留端口号

  预留端口号就是给第三方组件预留的端口号,在分配临时端口时不会分配该端口。

  服务器内核版本要大于2.6.18-164,否则不支持该参数

  vim  /etc/sysctl.conf

  net.ipv4.ip_local_reserved_ports=3306   #预留端口号设置

  支持多个端口段配置

  net.ipv4.ip_local_reserved_ports=3306,3308-3310,3312

  

Linux TCP自连接问题的更多相关文章

  1. linux tcp调优

    Linux TCP Performance Tuning News Linux Performance Tuning Recommended Books Recommended Links Linux ...

  2. [转]linux tcp/ip调优

    LINUX tcp/ip性能调优 On 2011年03月15日, in linux, tips, by netoearth 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接 ...

  3. [转帖]Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点

    Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点 http://network.51cto.com/art/201909/603780.htm 可以毫不夸张的说现如今的互联网是基于TC ...

  4. zabbix 监控linux tcp连接数

    zabbix 监控linux tcp连接数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP的状态概述 1>.端口状态转换 2>.TCP 三次握手 3>. ...

  5. Linux TCP漏洞 CVE-2019-11477 CentOS7 修复方法

    CVE-2019-11477漏洞简单介绍 https://cert.360.cn/warning/detail?id=27d0c6b825c75d8486c446556b9c9b68 RedHat用户 ...

  6. 深入理解Linux TCP backlog

    本文转载自深入理解Linux TCP backlog 当应用程序调用listen系统调用让一个socket进入LISTEN状态时,需要指定一个参数:backlog.这个参数经常被描述为,新连接队列的长 ...

  7. linux tcp超时重传实现分析

    kernel version 3.18.20 1.函数调用关系 tcp_ack-> tcp_clean_rtx_queue-> tcp_ack_update_rtt-> tp-> ...

  8. linux TCP Wrappers

    1. TCP Wrapper简介 (出处:http://www.softpanorama.org/Net/Network_security/TCP_wrappers/) (维基百科)TCP Wrapp ...

  9. linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解

    最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...

随机推荐

  1. 百度URL链接中文转码

    百度搜索链接规则为: http://www.baidu.com/s?wd=[搜索词目]&cl=3 有多个搜索词通过加号进行链接: http://www.baidu.com/s?wd=keywo ...

  2. HTML学习记录和总结

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 作者:struct_mooc 博客地址:https://www.cnblogs.com/stru ...

  3. Plugin 表格列自定义显示隐藏插件TableCustom.js

    TableCustom 案例展示 下载地址 https://github.com/chaorenzeng/TableCustom.js.git 快速使用 1.引入TableCustom.css和Tab ...

  4. 1 c# 获取当前正在运行的类的程序集

    public static Assembly CurrentAssembly { get { return Assembly.GetExecutingAssembly(); } }

  5. nginx 配置简单的静态页面

    nginx 文件服务配置,MIME和 default_type https://blog.csdn.net/qq_26711103/article/details/81116900 nginx 静态页 ...

  6. Centos网卡名称命名

    1. vim /etc/sysconfig/grub     编辑/etc/sysconfig/grub文件 添加  net.ifnames=0 biosname=0 GRUB_TIMEOUT= GR ...

  7. ORALCE 数据库字符串处理、常用函数

    .字符串转日期: to_date(paramStr,'YYYYMMDDHH24MISS') to_date(paramStr,'yyyy-MM-DD') to_date(paramStr,'yyyy/ ...

  8. python常有模块:模块、引入语法、两种执行方式、模块搜索顺序

    今天主要讲了以下几点:一.模块三问.定义及分类二.import和from的语法三.文件的两种执行方式及搜索顺序四.内置函数 一.模块.import和from的语法 1.什么是模块   模块是一堆功能函 ...

  9. git 清除所有历史记录

    有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大.如果确定历史更改没有意义,可以采用下述方法清空历史, 1) 先 clone 项目到本地目录 (以名为 mylearning ...

  10. CNN for NLP(2)

    参考链接: 卷积神经网络(CNN)在句子建模上的应用, 卷积神经网络CNN在自然语言处理中的应用, CNN在NLP中的应用.