iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL8.0连接协议及3306、33060、33062端口的作用解析
  • 863
分享到

MySQL8.0连接协议及3306、33060、33062端口的作用解析

MySQL连接协议MySQL 3306端口MySQL 33060端口MySQL 33062端口 2022-08-17 10:08:14 863人浏览 薄情痞子
摘要

目录一、Mysql连接层二、连接协议三、本地和远程连接协议:tcp/IP一、mysql连接层 连接层为每个连接维护一个线程。该线程处理查询执行。 在连接可以开始发送 sql 查询之前,连接由验证用户名、密码和客户端主机。

一、mysql连接层

连接层为每个连接维护一个线程。该线程处理查询执行。 在连接可以开始发送 sql 查询之前,连接由验证用户名、密码和客户端主机。

连接层通过多种连接协议接受来自应用程序的连接:

  • TCP/IP
  • Unix 套接字
  • 共享内存
  • 命名管道

如下图所示:

MySQL8.0连接协议及3306、33060、33062端口的作用解析

二、连接协议

协议在客户端库和驱动程序中实现。

连接协议的速度因本地设置而异。

除了旧版 MySQL 经典协议之外,MySQL X 协议还引入了MySQL 5.7.12 并在 MySQL 8.0 中默认启用。

MySQL8.0连接协议及3306、33060、33062端口的作用解析

MySQL 使用 TCP 将消息从客户端通过网络传输到服务器,可以使用以 mysqlx 为前缀的变量和选项来配置 MySQL X 协议。

mysqlx 变量的一些示例:

  • • mysqlx
  • • mysqlx_bind_address
  • • mysqlx_max_connections
  • • mysqlx_port
  • • mysqlx_Socket

三、本地和远程连接协议:TCP/IP

TCP/IP(传输控制协议/互联网协议):

1、是用于连接 Internet 上的主机的连接协议套件

2、使用 IP 地址或 DNS 主机名来识别主机

3、使用 TCP 端口号来标识每个主机上的特定服务

MySQL 默认 TCP 端口号:

1、3306 用于 MySQL Classic 协议(服务器端口选项)

2、33060 用于 MySQL X 协议(服务器 mysqlx_port 选项)

3、33062 用于使用 MySQL Classic 协议的管理连接(服务器 admin_port 选项)

修改my.cnf

admin_address='localhost'

修改前后对比: 

[root@hadoop1 ~]# mysql -e "show variables like 'admin%'";
+------------------------+-----------------+
| Variable_name          | Value           |
+------------------------+-----------------+
| admin_address          |                 |
| admin_port             | 33062           |
| admin_ssl_ca           |                 |
| admin_ssl_capath       |                 |
| admin_ssl_cert         |                 |
| admin_ssl_cipher       |                 |
| admin_ssl_crl          |                 |
| admin_ssl_crlpath      |                 |
| admin_ssl_key          |                 |
| admin_tls_ciphersuites |                 |
| admin_tls_version      | TLSv1.2,TLSv1.3 |
+------------------------+-----------------+
[root@hadoop1 ~]# systemctl restart mysqld.service 
[root@hadoop1 ~]# mysql -e "show variables like 'admin%'";
+------------------------+-----------------+
| Variable_name          | Value           |
+------------------------+-----------------+
| admin_address          | localhost       |
| admin_port             | 33062           |
| admin_ssl_ca           |                 |
| admin_ssl_capath       |                 |
| admin_ssl_cert         |                 |
| admin_ssl_cipher       |                 |
| admin_ssl_crl          |                 |
| admin_ssl_crlpath      |                 |
| admin_ssl_key          |                 |
| admin_tls_ciphersuites |                 |
| admin_tls_version      | TLSv1.2,TLSv1.3 |
+------------------------+-----------------+
[root@hadoop1 ~]# 

成功登录:

[root@hadoop1 ~]# mysql -P 33062
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.28 MySQL CommUnity Server - GPL
Copyright (c) 2000, 2022, oracle and/or its affiliates.
Oracle is a reGIStered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

网络监听情况:

[root@hadoop1 ~]# netstat -anltp | grep 33062
tcp        0      0 127.0.0.1:33062         0.0.0.0:*               LISTEN      1104641/mysqld      
[root@hadoop1 ~]# 

设置最大连接数方便测试

mysql> set global max_connections = 1;
Query OK, 0 rows affected (0.00 sec)

重新连接:

[root@hadoop1 ~]# mysql
ERROR 1040 (HY000): Too many connections
[root@hadoop1 ~]# mysql -P 33062 --protocol tcp
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 8.0.28 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

从 MySQL 8.0.14 开始,MySQL 服务器允许专门为管理连接配置 TCP/IP 端口。这为用于普通连接的网络接口上允许的单个管理连接提供了一种替代方法,即使已经建立了 max_connections 连接。只有在启动时设置了 admin_address 系统变量以指示管理接口的 IP 地址时,该接口才可用。如果未指定 admin_address 值,则服务器不维护管理界面。

只有SERVICE_CONNECTION_ADMIN 权限的用户才允许连接。没有限制管理连接的数量。 MySQL 服务器使用 DNS(域名系统)来解析使用 TCP/IP 协议连接的客户端主机的名称,并将它们存储在主机缓存中。对于在名称解析过程中出现性能问题的大型网络,请使用 --skip-name-resolve 选项禁用 DNS 或增加 --host-cache-size 选项的值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。 

您可能感兴趣的文档:

--结束END--

本文标题: MySQL8.0连接协议及3306、33060、33062端口的作用解析

本文链接: https://www.lsjlt.com/news/33735.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis分布式锁怎么释放
    如何释放 redis 分布式锁 Redis 分布式锁是一种用于在分布式系统中协调对共享资源的访问的技术。释放分布式锁至关重要,因为它可以确保资源在使用后被正确释放,从而防止死锁和数据不一...
    99+
    2024-05-22
    redis
  • redis击穿怎么处理
    redis 击穿的处理方法:使用分布式锁加锁,确保仅一个请求创建 key;启用缓存穿透策略,返回默认值或错误消息;异步创建 key,避免影响主线程性能;预加载热点 key;优化 redi...
    99+
    2024-05-22
    redis
  • redis有序集合怎么实现
    redis有序集合(zset)通过哈希表和跳跃表实现,哈希表存储元素和分数映射,而跳跃表按分数排序元素并维护快速导航的指针,支持多种操作,包括添加、删除、更新分数、查找元素和获取排名,优...
    99+
    2024-05-22
    redis
  • redis哨兵模式怎么用
    redis 哨兵模式是一种高可用性解决方案,通过部署哨兵服务器来实现故障检测和自动故障转移。使用步骤包括:部署哨兵服务器、配置 redis 实例、启动哨兵服务器。哨兵模式工作原理:检测主...
    99+
    2024-05-22
    redis
  • 怎么查看redis是否启动
    检查 redis 是否已启动的最简单方法是使用 redis-cli 命令行工具,命令为: redis-cli -h -p 。除了 redis-cli,还可通过检查端口、查看进程或使用 ...
    99+
    2024-05-22
    redis
  • redis内存满了怎么办
    当redis内存已满时:清理不需要的数据增加redis实例的内存大小使用持久化优化数据结构减少客户端连接监控和调整 Redis内存已满的解决办法 当Redis的内存被占满时,会出现性能...
    99+
    2024-05-22
    redis 内存占用 数据丢失
  • redis多线程怎么用
    redis 支持多线程操作,以提高并发性和吞吐量。使用pubsub机制,可以在线程之间发送和接收消息;通过线程池,可以高效分配和管理预先创建的线程。注意事项包括线程安全、使用相同redi...
    99+
    2024-05-22
    redis
  • redis主从模式怎么切换
    redis 主从模式切换有两种方法:直接切换和 redis-sentinel 辅助切换。直接切换需要手动操作,包括停用主服务器、同步数据、解除关联和连接新主节点。redis-sentin...
    99+
    2024-05-22
    redis
  • redis怎么迁移数据
    redis 提供多种数据迁移方式:redis 复制:启用复制功能,将数据同步到目标服务器。redis rdb 导出和导入:创建 rdb 文件,将其从源服务器复制到目标服务器,然后加载。r...
    99+
    2024-05-22
    redis
  • redis哨兵怎么用
    redis 哨兵是一种 redis 服务的高可用性解决方案,通过监视 redis 实例并进行故障转移来确保服务的可用性。它需要安装 redis 哨兵并配置 sentinel.conf 文...
    99+
    2024-05-22
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作