记录一个mysql连接慢的问题

问题现象是这样的:

我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问。但是遇到一个问题就是使用下面两个命令行访问的时候,速度差别非常大:

mysql –h 127.0.0.1 –u user

mysql –h 61.183.23.23 –u user

 

然后我使用ping,判断两个IP的速度差不多。

使用127.0.0.1的IP速度比另一个快太多了。虽然说这里的61.183.23.23需要去外网走一圈,但是速度差别怎么会差这么多。

 

解决办法:

mysql使用skip-name-resolve禁止掉DNS的查询。

mysql会在用户登录过程中对客户端IP进行DNS反查,不管你是使用IP登录还是域名登录,这个反查的过程都是在的。所以如果你的mysql所在的服务器的DNS有问题或者质量不好,那么就有可能造成我遇到的这个问题,DNS解析出现问题。

修改mysql配置文件

[mysqld]

skip-name-resolve

 

补充:

做个提醒,增加skip-name-resolve有可能导致账号失效,比如我原先的账号是yejianfeng@localhost,然后其实我使用mysql -h127.0.0.1 -uyejianfeng 是可以登录的。但是一旦加上了skip-name-resolve,就不能登录的了。需要加上账号yejianfeng@127.0.0.1

时间: 2025-01-25 05:25:28

记录一个mysql连接慢的问题的相关文章

我也贴出来自己的一个MYSQL连接类,原创,请指正!

mysql|原创 class dbLink            //数据库查询的类{   var $dBaseLink;        //数据库连接指针    var $dBase;        function dbLink($base="")        //构造函数                                      //$base 为选择数据库名称  { $this->dBaseLink=@mysql_connect("host&q

PHP ADOdb使用手册:ADOdb安装与Mysql连接教程

在PHP网站开发中,针对数据库平台移植性的解决方案,之前介绍过PEAR DB类安装使用的PHP教程,其实使用PHP ADOdb类库也是一种很好的解决方案,其支持的数据库引擎更多. 作为PHP ADOdb使用手册开篇文章,主要介绍使用PHP ADOdb类库具有哪些优点,PHP ADOdb类库的基本安装使用方法,以及使用PHP ADOdb建立Mysql数据库连接的几种方法. 使用PHP ADOdb的优点 1.与PHP结合好,速度快 2.扩展性好,对于windows平台的程序员来说易于掌握,因为和Mi

自己编了一个mysql类。请指正

mysql 文件名mysql.class.php<?//###################### Start Introduce #######################################// mysql连接类// author: bluemaple , emaile: bluemaple@x263.net// 可以执行一般mysql命令,如insert,delete,select,update// 使用方法:在需要的文件前面加入// require("./mysq

MySQL连接left join,right join,inner join语句用法

在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问,国内关于MySQL联结查询的资料十分少,相信大家在看了本文后会对MySQL联结语法有相当清晰的了解,也不会被Oracle的外联结的("+"号)弄得糊涂了. 在SQL标准中规划的(Join)联结大致分为下面四种: php开源嘛 1. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结. 2. 外联结:分为外左联结和外右联结. php

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

mysql-数据库MYSQL连接成功,可是遍历next()结果不是我想要呀!!!

问题描述 数据库MYSQL连接成功,可是遍历next()结果不是我想要呀!!! 事件监听中要检验JTextField的内容是否与数据库中一致,一致则登录成功,否则登录失败,但是现在无论JTextField的内容如何,都是输出登录失败,求大神解救啊... import java.sql.*; import javax.swing.JOptionPane; public class MysqlJdbc { public User user= new User(); public void Login

jsp和mysql连接

js|mysql 中文问题: jsp和mysql连接的时候,要在每一个jsp文件中加: <%@ page contentType="text/html;charset=gb2312" %><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 如果是表单的提交要加上: jdbc:mysql://127.0.0.1:3306/publish?u

并发-请教一个mysql批量更新时的deadlock问题?

问题描述 请教一个mysql批量更新时的deadlock问题? 数据是mysql 5.6 表引擎是innoDB,DAO是mybatis3 有个表,比如是订单-物品表,里面保存每个订单的所有物品清单 字段有:record_id(记录id,自增长),order_id(订单id),good_id(物品id)等其他字段.. 有个数据同步的业务场景 需要在一个事务里 先根据order_id做删除操作,delete from xxx where order_id=xx 然后再批量增加订单-物品清单inser

Linux有问必答:如何通过命令行创建和设置一个MySQL用户

Linux有问必答:如何通过命令行创建和设置一个MySQL用户 问题:我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制.如何通过命令行的方式来创建并且设置一个MySQL用户呢? 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQL用户帐号都有许多与之相关连的属性,例如用户名.密码以及权限和资源限制."权限"定义了特定用户能够在MySQL服务器中做什么,而"资源限制"为用户设置了一系列服务器资源的使用许可.创