linux上使用netstat察看mysql端口和连接

linux上使用netstat察看mysql端口和连接



近日发现写的一个java程序的数据库连接在大压力下工作不打正常,因此研究了一下dbcp,中间为了查看mysql服务器的数据库连接情况,需要使用netstat来查看端口和连接, 将使用到的命令整理了一下备忘, 这些命令同样可以用于查看其他运用程序的端口和连接情况.



netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其中的部分功能.



直接输入netstat,显示

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State      

tcp        0      0 localhost:41144         localhost:41147         ESTABLISHED 

tcp        0      0 localhost:21576         localhost:21579         ESTABLISHED 

tcp        0      0 linux.local:telnet      10.3.18.129:nbx-au      ESTABLISHED 

tcp        1      0 localhost:39706         localhost:58099         CLOSE_WAIT  

......

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags       Type       State         I-Node Path

unix  2      [ ]         DGRAM                    910    /var/named/dev/log

unix  2      [ ]         DGRAM                    908    /var/lib/dhcp/dev/log

unix  8      [ ]         DGRAM                    906    /dev/log

.....



输出结果可以分为两个部分,一个是Active Internet connections,另一个是Active UNIX domain sockets. 



netstat 的常用参数: - t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。-l 显示正在被监听(listen)的端口, -n表示直接显示端口数字而不是通过察看/etc/service来转换为端口名,-p选项表示列出监听的程序



1) netstat -tl

查看当前tcp监听端口

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State      

tcp        0      0 *:rrac                  *:*                     LISTEN      

tcp        0      0 *:34006                 *:*                     LISTEN      

......



2) netstat -tlp

查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   

tcp        0      0 *:rrac                  *:*                     LISTEN      -                          

tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld   

......





3) netstat -tl | grep 34006

    只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用

4) netstat -ta | grep 34006

tcp        0      0 *:34006                 *:*                     LISTEN      

tcp        0      0 linux.local:34006       linux.local:41485       ESTABLISHED 

tcp        0      0 linux.local:34006       linux.local:41486       ESTABLISHED 

...

tcp        0      0 10.3.2.35:41488         10.3.2.35:34006         ESTABLISHED 

tcp        0      0 10.3.2.35:41489         10.3.2.35:34006         ESTABLISHED 

tcp        0      0 10.3.2.35:41490         10.3.2.35:34006         ESTABLISHED 



由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次. 可以使用-p参数来显示PID,然后grep PID.





5) netstat -tap | grep 34006 | grep 23425

    23425是当前mysql的PID

tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld        

tcp        0      0 linux.local:34006       linux.local:41510       ESTABLISHED 23425/mysqld        

tcp        0      0 linux.local:34006       linux.local:41511       ESTABLISHED 23425/mysqld

tcp        0      0 linux.local:34006       linux.local:41516       ESTABLISHED 23425/mysqld

一、查看端口

1.在命令行中输入:mysqld --console,输出的信息可以看到端口号

2.登录本地或远程mysql,输入show global variables like 'port',这种方法其实是很多余的,因为你能登录成功mysql,不是使用默认3306端口,就是指定端口才能登录,所以你是知道端口号的,除非一时忘记了想查看。这里也联系到了修改端口号之后要指定端口才嫩登录。

3.启动mysql服务成功使用命令,查看mysql进程占用的端口,windows下输入netstat -anb,找到mysqld进程对应的端口号,也可以用360流量防火墙等工具查看。linux下使用相关命令查看。

二、修改端口

1.windows环境下,在mysql目录下,如有my-default.ini,则复制一份,改名为my.ini,my-defalut.ini目测没有用,因为在其中修改的端口号或删除了该文件,mysql也能启动。linux环境下,找到/etc/my.cnf。

2.在my.ini中指定端口号,port = xxx。

3.关闭mysql服务,重新启动mysql服务。windows下使用net stop mysql,net start mysql。linux下使用mysqld -restart。在windosw下使用mysqld -start/stop/restart目测没用,使用了之后,对应的服务没有启动,也就只有mysqld -install/remove有用,添加移除服务。

4.登录的mysql的时候,要指定端口,否则提示联系不到localhost,这是因为mysql连接用了默认端口3306,而我们修改了mysql服务的端口,所以mysql登录失败。

三、指定端口

1.登录mysql时候指定端口,mysql -Pxxx,注意这里是大写P,不是小写p,小写p为密码。

2.指定其他参数

-u:指定用户,如-uroot

-p:小写p,指定密码,如-p123,通常密码不直接跟在-p后面,因为输入的是明文,不安全

-h,指定登录mysql服务器的地址,不填就是主机,指定localhost也可以,-ulocalhost。远程登录其他机器,则需要指定ip地址,如-h192.168.0.111。

整合附录:http://www.blogjava.net/aoxj/archive/2008/02/22/181316.html

http://www.linuxdiyf.com/linux/14581.html

mysql端口查看与修改-netstat命令使用的更多相关文章

  1. MySQL 如何查看及修改数据库引擎

    MySQL 如何查看及修改数据库引擎 1.查看mysql支持的引擎有哪些 show engines 结果,如图所示: 由上图可以看出,只有InnoDB是支持事务的 2.查看当前默认的引擎 show v ...

  2. Windows查看网络端口被占用情况netstat命令

    在windows命令行窗口下执行: C:\>netstat -aon|findstr "80" TCP     127.0.0.1:80         0.0.0.0:0  ...

  3. 网络编程—端口分类调研和netstat命令

    运输层的端口: 1.什么是端口?为甚要使用用端口? 进程的创建和撤销都是动态的,通信的一方几乎无法识别对方机器上的进程,我们需要利用目的主机提供的功能来识别终点. 所以为了解决上述问题,我们就在运输层 ...

  4. MySQL Workbench查看和修改表字段的Comment值

    查看: 选择单个表->[右键]->[Table Inspector] 再选择Columns选项卡即可,把表格拉倒最后一列. 编辑: 选择单个表->[右键]->[Alter Ta ...

  5. netstat命令怎么查看端口是否占用

    转自:http://www.ahlinux.com/start/cmd/527.html netstat命令是一个监控TCP IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接 ...

  6. linux下mysql 查看默认端口号与修改端口号方法

    一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -pEnter password: 输入数据库密码: 2.使用show global vari ...

  7. (转)Linux端口nmap和netstat命令

    场景:弄不清楚端口和服务的关系,总觉得这个命令很有用但是还不清楚如何使用 1 linux端口与服务 1.1 安全概述 网络传输安全.操作系统安全.应用软件安全构成了整个网络应用的安全:其中应用软件安全 ...

  8. 修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied

    1:错误信息:如下 [root@host ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded ...

  9. linux网络操作 netstat命令

    关闭与启动网卡 ifdown 网卡设备名 #禁用该网卡设备 ifup网卡设备名 #启用该网卡设备 查看网络状态 netstat  命令 ​ -t 列出tcp协议端口 -u 列出udp协议端口 -n 不 ...

随机推荐

  1. 【技术博客】利用handler实现线程之间的消息传递

    [技术博客]利用handler实现线程之间的消息传递 一.handler简介 在Android Studio的开发中,经常需要启动多个线程.比如向远程发送请求时,必须新开一个子线程,否则会造成程序崩溃 ...

  2. poi实现生成下拉选

    在我们日常开发中,经常需要使用poi操作excel文件,现在就简单介绍一下在poi中是如何生成下拉选的. 1.创建workbook 2.创建数据约束 3.设置数据的有效性 @Test public v ...

  3. 常用JAVA API :String 、StringBuilder、StringBuffer的常用方法和区别

    摘要 本文将介绍String.StringBuilder类的常用方法. 在java中String类不可变的,创建一个String对象后不能更改它的值.所以如果需要对原字符串进行一些改动操作,就需要用S ...

  4. 算法:拉丁方阵(Latin Square)

    拉丁方阵(英语:Latin square)是一种 n × n 的方阵,在这种 n × n 的方阵里,恰有 n 种不同的元素,每一种不同的元素在同一行或同一列里只出现一次.以下是两个拉丁方阵举例: 拉丁 ...

  5. hdu 5093 Battle ships(二分图最大匹配)

    题意: M*N的矩阵,每个格子上是三个之一:*.o.#.                     (1 <= m, n <= 50) *:海洋,战船可以停在上面.      o:浮冰,战船 ...

  6. 【代码更新】单细胞分析实录(21): 非负矩阵分解(NMF)的R代码实现,只需两步,啥图都有

    1. 起因 之前的代码(单细胞分析实录(17): 非负矩阵分解(NMF)代码演示)没有涉及到python语法,只有4个python命令行,就跟Linux下面的ls grep一样的.然鹅,有几个小伙伴不 ...

  7. void * 是什么?

    最近遇到void *的问题无法解决,发现再也无法逃避了(以前都是采取悄悄绕过原则),于是我决定直面它. 在哪遇到了? 线程创建函数pthread_create()的最后一个参数void *arg,嗯? ...

  8. C++ pragma once 与 ifndef 用法区别

    #pragma once 与 #ifndef 的作用 (1)在C/C++中,在使用预编译指令#include的时候,为了防止重复引用造成二义性. (2)在能够支持这两种方式的编译器上,二者并没有太大的 ...

  9. SQL注入之猫舍之sqlmap的使用

    先说一下最常用的基础指令 -u 指定注入点(一般为url栏的网址) --dbs 跑库名 --tables 跑表名 --columns 跑字段名 --dump 枚举数据(高危指令,容易进去) -D 库名 ...

  10. 04 | 函数扩展 | es6

    函数参数的默认值 基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x ...