当前位置: 首页 > news >正文

MySQL连接方式: Unix套接字 TCP/IP

  • 今天连接mysql数据库使用mysql -u root -p指令的时候遇到了这个问题:
    在这里插入图片描述
    解决之后来总结一下mysql的连接方式

文章目录

  • 1. Unix套接字(或Windows命名管道)
    • 特点:
    • 场景:
  • 2. TCP/IP
    • 特点:
    • 场景:
  • 3.对比总结

1. Unix套接字(或Windows命名管道)

是一种特殊的套接字,仅用于同一台机器上的进程间通信。它不使用网络协议,因此速度很快。当我们谈论MySQL使用Unix套接字进行本地连接时,就是指这种套接字。

特点:

  • 速度:Unix套接字通常比TCP/IP快,因为它避免了网络堆栈的开销。
  • 安全性:连接仅限于本地计算机,不能远程访问。
  • 主机名:在MySQL中,使用localhost作为主机名会导致客户端使用Unix套接字连接。

场景:

适用于当客户端和服务器在同一台机器上运行时。由于其速度快,本地应用程序通常默认使用Unix套接字。

  • 如果MySQL服务器没有运行,或者套接字文件路径配置错误,可能会收到类似Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)的错误。

2. TCP/IP

特点:

  • 灵活性:允许从任何能够访问服务器IP地址和端口的地方进行远程访问。
  • 主机名:使用IP地址(例如127.0.0.1)作为主机名会导致客户端使用TCP/IP连接。
  • 配置:可能需要配置防火墙和MySQL用户权限,以允许特定的远程访问。

场景:

适用于需要远程访问MySQL服务器的场景,例如Web服务器、分布式应用等。

当你需要远程访问MySQL服务器,如在Web服务器和分布式应用的环境中,通常使用TCP/IP协议连接是非常实用的。

  • 以下是使用TCP/IP连接MySQL的两种命令示例:

    1. 使用IP地址连接:

      当你使用具体的IP地址(如127.0.0.1)进行连接时,MySQL客户端会默认使用TCP/IP协议。

      mysql -h 127.0.0.1 -P 3306 -u username -p
      
    2. 强制使用TCP/IP连接到localhost:

      在某些情况下,你可能希望在本地计算机上使用TCP/IP协议连接到MySQL,而不是默认的Unix套接字。为此,你可以使用--protocol=TCP参数来指定。

      mysql -h localhost --protocol=TCP -P 3306 -u root -p
      

    这两种方法都利用了TCP/IP协议进行连接。第一个方法明确指定了IP地址,而第二个方法则是通过--protocol选项显式指定了协议。

3.对比总结

  • Unix套接字更适合本地连接,由于没有网络堆栈的开销,所以速度更快,安全性更高。

  • TCP/IP允许更大的灵活性,尤其是在需要远程连接的场景中。但可能需要更多的配置,包括MySQL用户权限和防火墙设置。

  • 以下来自chatgpt
    在这里插入图片描述

http://www.lryc.cn/news/194147.html

相关文章:

  • TSINGSEE青犀智慧城市数字基座解决方案,助力城市数字化转型
  • 【JavaEE】初识网络
  • UGUI交互组件ScrollBar
  • DamiBus v0.51 发布
  • [OpenJDK:环境变量配置]:填充Profile并修改默认配置
  • 连接mysql报错 :Host ‘xxx.xx.x.x‘ is not allowed to connect to this MySQL server
  • Qt 布局(QSplitter 类QDockWidget 类) 总结
  • git-ssh-key协议同步文件
  • 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest G. Pyramid(组合数学 计数)
  • C++学习——string 详解(即C++字符串详解)
  • LeetCode 1 两数之和
  • 【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程
  • 【1day】用友U8Cloud未授权访问漏洞学习
  • 基于单片机智能汽车仪表设计系统
  • java double 保留两位小数
  • 计网第六章(应用层)(三)(文件传输协议FTP)
  • 微信小程序canvas画布绘制base64图片并保存图片到相册中
  • Hadoop3教程(八):MapReduce中的序列化概述
  • Flash-Attention
  • 发布npm包质量分测试
  • 基于适应度相关优化的BP神经网络(分类应用) - 附代码
  • 复杂网络 | 利用复杂网络预测城市空间流量
  • 【1】c++11新特性(稳定性和兼容性)—>原始字面量
  • 学习pytorch13 神经网络-搭建小实战Sequential的使用
  • TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
  • 【Python、Qt】使用QItemDelegate实现单元格的富文本显示+复选框功能
  • 【JVM】JVM类加载机制
  • 【面试经典150 | 区间】汇总区间
  • 主流接口测试框架对比
  • LeetCode 150.逆波兰表达式求值