MySQLDNS的使用过程详细分析
使用 过程 详细分析
2023-06-13 09:14:41 时间
当mysql客户端连接mysql服务器(进程为:mysqld),mysqld会创建一个新的线程来处理该请求。该线程先检查是否主机名在主机名缓存中。如果不在,线程试图解析主机名。
如果系统是线程安全的,则gethostbyaddr_r()和gethostbyname_r()被调用,来执行主机名解析;
如果系统不支持线程安全调用,则线程会锁定一个互斥体并调用gethostbyaddr()和gethostbyname()。在这种情况下,在第1个线程解锁互斥体前,没有其它线程可以解析不在主机名缓存中的主机名。
通过--skip-name-resolve选项启动mysqld来禁用DNS主机名查找。此时,只可以使用MySQL授权表中的IP地址,不能使用主机名。
如果DNS解析很慢且包括许多主机,通过用--skip-name-resolve禁用DNS查找或增加HOST_CACHE_SIZE定义(默认值:128)并重新编译mysqld来提高性能;
通过--skip-host-cache选项启动服务器来禁用主机名缓存。要想清除主机名缓存,执行FLUSHHOSTS语句或执行mysqladminflush-hosts命令。
如果要完全禁止TCP/IP连接,用--skip-networking选项启动mysqld。
如果系统是线程安全的,则gethostbyaddr_r()和gethostbyname_r()被调用,来执行主机名解析;
如果系统不支持线程安全调用,则线程会锁定一个互斥体并调用gethostbyaddr()和gethostbyname()。在这种情况下,在第1个线程解锁互斥体前,没有其它线程可以解析不在主机名缓存中的主机名。
通过--skip-name-resolve选项启动mysqld来禁用DNS主机名查找。此时,只可以使用MySQL授权表中的IP地址,不能使用主机名。
如果DNS解析很慢且包括许多主机,通过用--skip-name-resolve禁用DNS查找或增加HOST_CACHE_SIZE定义(默认值:128)并重新编译mysqld来提高性能;
通过--skip-host-cache选项启动服务器来禁用主机名缓存。要想清除主机名缓存,执行FLUSHHOSTS语句或执行mysqladminflush-hosts命令。
如果要完全禁止TCP/IP连接,用--skip-networking选项启动mysqld。
相关文章
- Fabric.js 使用纯色遮挡画布(前景色)
- iOS 小技能:响应者链的事件传递过程、手势识别器的使用步骤、抽屉效果的实现
- 腾讯云Elastic使用教程:使用Fleet集中管理Elastic Agent
- 【说站】如何使用python画皮卡丘?
- 安全地使用 Redis(上):端口安全、指令安全和内存使用限制
- 使用pygame制作一个种菜游戏
- python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题|附代码数据
- Sublime Text 3 使用过程中遇到的问题总结
- 应用数学家Lek-Heng Lim使用代数、几何和拓扑的工具来回答机器学习中的问题
- 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器客户端完整代码示例 | 运行服务器端与客户端效果及过程分析 )
- 【调试】GDB使用总结
- 【CSS】使用绝对定位 / 浮动解决外边距塌陷问题 ( 为父容器 / 子元素设置内边距 / 边框 | 为子元素设置浮动 | 为子元素设置绝对定位 )
- SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
- SQL Server两种分页的存储过程使用介绍
- ActiveMQ使用过程中遇到的问题详解编程语言
- 谷歌将使用 Debian 10 作为 Chrome OS 默认 Linux 容器
- 简单易学:MSSQL存储过程的简单使用(mssql存储过程)
- 数据处理使用Java处理Redis中过期数据(redisjava过期)
- 在 Fedora 上使用 SSH 端口转发
- 在Python中使用httpx模块
- 使用Linux安装.run文件的详细步骤!(linux安装.run)
- 使用MSSQL存储过程参数来优化数据库操作(mssql存储过程参数)
- Linux踢出不文明用户,保障正常使用(linux踢用户)
- 使用Oracle内连接索引优化查询效率(oracle 内连接索引)
- 如何使用Redis缓存查询(怎么查redis缓存)
- 谨防Redis开发过程中的踩坑危险(使用redis踩到的坑)
- 使用jquery为table动态添加行的实现代码
- SQL中sp_executesql存储过程的使用帮助
- 使用GruntJS链接与压缩多个JavaScript文件过程详解