博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL在远程访问时非常慢的解决
阅读量:5862 次
发布时间:2019-06-19

本文共 1407 字,大约阅读时间需要 4 分钟。

hot3.png

服务器放在局域网内进行测试时,数据库的访问速度还是很快。但当服务器放到外网后,数据库的访问速度就变得非常慢。

后来在网上发现解决方法,my.cnf里面添加

[mysqld]

skip-name-resolve

这样速度就快了!

skip-name-resolve

选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。

还有权限的问题,当用户设置限制只能访问某个数据库,如果这个数据库被删了,再重建这个指定数据库,限制用户还是不能访问这个数据,大概是删除数据库的时间,把该用户的访问权限也级联删除了,详细可以查看mysql.db的记录

若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放。

如果mysql服务器没有开远程帐户,就在my.cnf里面加上skip-grant-tables

排除网络问题。

就MySQL本身而言,问题出在在mysql dns反解析

mysql>show processlist;

| 20681949 | unauthenticated user | 10.10.4.193:52497 | NULL | Connect | | Reading from net | NULL | 

| 20681948 | unauthenticated user | 10.10.4.193:52495 | NULL | Connect | | Reading from net | NULL

发现有非常多的 unauthenticated user 尝试做登入使用 mysql 的情況 ,当这种情况无限制发生时就会造成系统十分缓慢。

查阅mysql官方网站得知,这属于官方一个系统上的特殊设定,就把他当成mysql的一个bug算了,不管链接的的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查。mysqld 会尝试去反查 IP -> dns ,由于反查解析过慢,就会无法应付过量的查询。

解决办法:

/usr/local/mysql/bin/mysqld_safe --skip-name-resolve --user=mysql&

加 --skip-name-resolve 这么一个参数就可以,关闭mysql的dns反查功能。

或者修改mysql配置文件。

编辑/etc/my.cnf

在[mysqld]段中加入

skip-name-resolve

重启mysql

在/etc/my.cnf 的配置文件中加入如下一句,禁用DNS反响解析,就能大大加快MySQL连接的速度。

[mysqld]

下面加上这句

skip-name-resolve

#注意有些文章中写道加入–skip-name-resolve,经验证,在CentOS5下加入–skip-name-resolve会导致mysql守护进程无法启动。估计在其他linux系统下是一样的,windows下没有测试,skip-name-resolve应该就可以。

转载于:https://my.oschina.net/u/1036767/blog/212688

你可能感兴趣的文章
转载:Maven依赖排除 禁止依赖传递 取消依赖的方法
查看>>
Python自动化开发学习18-Web前端补充内容
查看>>
Nginx Cache测试
查看>>
我的友情链接
查看>>
Nginx反向代理及优化
查看>>
linux下程序定时重启脚本
查看>>
导入import com.sun.image.codec.jpeg.JPEGCodec出错
查看>>
app 根据 自定义注解 和 springAOP 做单设备登录
查看>>
在阿里,我们如何管理测试环境
查看>>
openlayers4加载tippecanoe矢量切片
查看>>
java中所有的操作出了基本类型以外,都是对引用进行的操作。reference
查看>>
Postgresql存储过程优化
查看>>
VirtualBox设置虚拟机Host-only与宿主机连接
查看>>
淘宝npm镜像
查看>>
升级到PHP 5.4.3遇到的一个错误
查看>>
socket tcp缓冲区大小的默认值、最大值
查看>>
原来还有这个猫腻,还敢买日系车不
查看>>
ROS 导航包各功能汇总
查看>>
使用代码管理基础架构(一)镜像利器
查看>>
Hadoop1.0.1安装部署(二)
查看>>