端口简介与Linux下mysql端口号操作

作者:技术工程师--陈锐锐

一:什么是端口,端口号?
        端口(port):可以理解为设备与外界通讯交流的通道口。端口又分为虚拟端口和物理端口。
        虚拟端口,指计算机内部或交换机路由器内的端口,不可见。例如计算机中FTP的21端口、Telnet的23端口、HTTP的80端口等。
         物理端口又称为接口,是可见端口,计算机背板的RJ45网口、USB接口、HTML接口、VGA接口等。

        端口号:不同主机之间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择。数据是可以顺利传输给目标主机的,可是大多数操作系统都支持多程序(进程)同时运行,那么目标主机应该把接收的数据包传输给哪个进程呢?不能乱传吧?这时候就需要端口机制了。
例如:https://202.108.22.5:443(百度一下ip+端口号)。https默认端口为443,平常没有输入是自动添加的。

        再假设我们去银行取钱,银行作为“主机”,会有很多业务窗口,我们取钱就需要去指定窗口(端口)办理业务,同时其他窗口(不同端口)可以为其他人做存钱,查询,贷款等不同业务。
银行不可能只有取钱这一个窗口业务,这里就可以形象的理解端口的作用。


二:端口号范围

    端口号都是整数,范围是0-65535(2^16-1)。

三:端口端口号分类
    
1.公认端口(0-1023):
    它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:https默认的443端口,http默认端口是80,
2.注册端口(1024-49151):
    它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:oracel数据库默认1521端口,MySQL默认3306端口等
3.动态和/或私有端口(49152-65535):
    理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。


四:端口操作案例

Linux下MySQL端口号操作为例:
1、登录mysql

[root@Mysql8 ~]# mysql -uroot -p
Enter password: 输入数据库密码;

2、查看端口号

mysql> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

-->3306即为端口号。

3.重定向端口号

[root@Mysql8 ~]# vi /etc/my.cnf

    添加port=3308;
    
4.重启生效
[root@Mysql8 ~]# /etc/init.d/mysqld restart

你可能感兴趣的:(centos,linux,mysql)