5,MySQL链接方式的详解

内容分享5天前发布
0 0 0

一、MySQL连接方式详解​

​1. Socket连接(本地连接)​​

  • 适用场景​:客户端与MySQL服务运行在同一台服务器时使用。
  • 连接命令​:

mysql -u用户名 -p密码 -hlocalhost -S /path/to/socket.sock

  • -h localhost:指定本地主机。-S:指定Socket文件路径(默认路径如/var/lib/mysql/mysql.sock或/tmp/mysql.sock)

  • 特点​:无需网络配置,性能较高(基于IPC通信)。​仅限本地访问,无法跨服务器使用

​2. TCP/IP连接(远程连接)​​

  • 适用场景​:跨服务器访问数据库。
  • 连接命令​:

mysql -u用户名 -p密码 -h远程IP -P端口号

  • -h:目标服务器IP地址。-P:MySQL服务端口(默认3306)。
  • 特点​:需配置网络白名单(授权特定IP访问)。依赖网络连通性及防火墙规则

​二、TCP/IP远程连接的关键配置​

​1. 授权白名单用户​

  • 步骤​:​创建用户并指定允许的IP​:

CREATE USER 'username'@'192.168.1.%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database.* TO 'username'@'192.168.1.%';

FLUSH PRIVILEGES;

  • %表明允许该IP段访问,192.168.1.100可替换为具体IP

  • 修改MySQL配置文件​:

ini

复制

[mysqld]

bind-address = 0.0.0.0 # 允许所有IP连接(默认127.0.0.1仅本地)

  • 重启MySQL服务​:

systemctl restart mysql

​2. 防火墙与网络配置​

  • 开放端口​:

ufw allow 3306/tcp # Ubuntu/Debian

firewall-cmd –add-port=3306/tcp –permanent # CentOS

  • 验证连通性​:

telnet 远程IP 3306 # 检查端口是否开放

​三、连接参数说明​

参数

说明

示例

-u

用户名

-uroot

-p

密码(输入时隐藏)

-pYourPass123

-h

主机地址(默认localhost)

-h192.168.1.100

-P

端口号(默认3306)

-P3307

-S

Socket文件路径(仅本地)

-S/tmp/mysql.sock

​四、常见问题与优化提议​

​1. 连接失败排查​

  • 错误提示​:Can't connect through socket:检查Socket路径或权限

  • Access denied:确认用户权限及IP白名单

  • Too many connections:调整max_connections参数

​2. 性能优化​

  • 连接池管理​:使用HikariCP、Druid等工具复用连接,减少创建开销

  • 参数调优​:wait_timeout:控制空闲连接超时(默认8小时)。thread_cache_size:缓存线程数,减少线程创建

​五、总结​

  • 本地连接优先使用Socket,高效且无需网络配置。
  • 远程连接需通过TCP/IP并配置白名单,确保安全性和网络可达性。
  • 定期监控连接状态(SHOW PROCESSLIST)和资源使用(max_connections),结合连接池和参数调优提升性能。
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...