zoukankan      html  css  js  c++  java
  • mysql端口查看与修改-netstat命令使用

    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


  • 相关阅读:
    phpcms——列出父目录下的所有子目录问题
    chm格式文档不能阅读问题
    php学习 5 无限级分类
    phpcms——rss问题
    phpcms——评论页面修改
    phpcm后台评论管理修改评论列出条数
    php学习4 函数定义
    网站测试工具
    ASP.NET前台代码绑定后台变量方法总结收藏帖
    在asp.net网站下使用fckeditor 和fcfinder (包括修改fcfinder 来使上传文件按时间来命名和按用户分割文件)
  • 原文地址:https://www.cnblogs.com/freeopen/p/5482903.html
Copyright © 2011-2022 走看看