最近项目使用mysql,并在linux上安装了rpm格式的mysql。 前几天访问正常,但今天突然发现数据库访问很慢,在网上搜索后发现,可以在/etc/my.cnf文件中添加“skip-name-resolve”进行解决。
但是,在/etc目录中找不到my.cnf文件,我通过搜索找到了解决方案
使用rpm软件包安装的MySQL不安装/etc/my.cnf文件。
关于为什么即使没有该文件,MySQL也能正常启动并发挥作用,有两种说法。
第一,my.cnf是MySQL启动时的参数文件,可以没有。 在这种情况下,MySQL将使用内置的默认参数启动。
第二,MySQL将在启动时自动使用/usr/share/mysql目录中的my-medium.cnf文件。 这仅限于安装在rpm软件包中的MySQL。
解决方法只是将/usr/share/mysql目录中的. cnf文件复制到/etc目录中,然后改名为my.cnf。
找到“[mysqld]”,然后添加“skip-name-resolve”
重新启动,解决问题。
原因:
当MySQL处理新线程的连接请求时,它会尝试分析DNS。 如果在host cache和Hosts中找不到,则处理会变慢。 因此,禁用此反分析功能是最简单的方法