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

后来在网上发现解决方法,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;

|  | unauthenticated
user | 10.10.4.193: | NULL | Connect | | Reading from net | NULL |
|
| unauthenticated user | 10.10.4.193: | 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应该就可以。

最新文章

  1. C#利用服务器实现客户端之间通信
  2. Table的行列合并
  3. Elasticsearch 数据搜索篇·【入门级干货】
  4. C# 代码示例_结构/数组/枚举...
  5. jQuery File Upload跨域上传
  6. 判断UpLoader是否安装了Flash
  7. 浅谈Base64编码
  8. asp.net学习之SqlDataSource
  9. tomcat 安全文件夹(Java之负基础实战)
  10. Linux 安装配置 FTP 服务 (vsftpd)
  11. wifislax中的linset软件钓鱼教程
  12. 在webpack3里使用uglifyjs
  13. python自动化开发-[第十二天]-前端html
  14. 【2017-04-25】winform公共控件、菜单和工具栏
  15. 2017-2018 Exp7 网络欺诈技术防范 20155214
  16. Codeforces777B Game of Credit Cards 2017-05-04 17:19 29人阅读 评论(0) 收藏
  17. Event Listener's Adapter Classes
  18. MySQL的yum源
  19. 前端开发之jQuery效果篇
  20. 漏洞预警 | ECShop全系列版本远程代码执行高危漏洞

热门文章

  1. Wannafly挑战赛23 A 字符串
  2. PAT Basic 1035
  3. 动态修改字节码以替换用反射调用get set方法的形式
  4. Appium+python自动化-环境搭建
  5. CodeBlocks "no such file or directory
  6. soa服务治理
  7. nginx 的日志切割
  8. Ubuntu Flask安装与配置(待整理)
  9. 【Luogu】P1330封锁阳光大学(bfs染色)
  10. 【区间更新区间求和】HDU 1698 Just a Hook