首页 > 数据库 >打开云服务器的MySQL数据库表很慢

打开云服务器的MySQL数据库表很慢

时间:2024-02-20 13:44:04浏览次数:21  
标签:resolve name thread skip mysqld DNS MySQL 很慢 服务器

远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常。
出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析。
解决方法:
在my.ini(WINDOWS系统下)或my.cnf(UNIX或LINUX系统下)文件的[mysqld]下加入 skip-name-resolve 这一句。
连接mysql速度慢的解决方法。

附录:( How MySQL uses DNS )

When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve the hostname.

If the operating system doesn’t support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready.

You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.

If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default: 128) and recompile mysqld.

You can disable the hostname cache with --skip-host-cache. You can clear the hostname cache with FLUSH HOSTS or mysqladmin flush-hosts.

If you don’t want to allow connections over TCP/IP, you can do this by starting mysqld with --skip-networking.

my.ini里面添加

[mysqld]
skip-name-resolve
skip-grant-tables

这样速度就快了!

skip-name-resolve

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

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

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

附,请根据情况开放

skip-name-resolve 一般我们只要这一项便可以
skip-grant-tables

标签:resolve,name,thread,skip,mysqld,DNS,MySQL,很慢,服务器
From: https://www.cnblogs.com/shuilangyizu/p/18022912

相关文章

  • centos6设置mysql5.7开机自启
    环境:OS:Centos6db:mysql5.7 1.修改启动文件#!/bin/sh#CopyrightAbandoned1996TCXDataKonsultAB&MontyProgramKB&DetronHB#ThisfileispublicdomainandcomeswithNOWARRANTYofanykind#MySQLdaemonstart/stopscript.#Usuallythisi......
  • 解锁Mysql中的JSON数据类型,怎一个爽字了得
    引言在实际业务开发中,随着业务的变化,数据的复杂性和多样性不断增加。传统的关系型数据库模型在这种情况下会显得受限,因为它们需要预先定义严格的数据模式,并且通常只能存储具有相同结构的数据。而面对非结构化或半结构化数据的存储和处理需求,选择使用非关系型数据库或者创建子表存......
  • 【三分钟开服仅32/月】幻兽帕鲁服务器最新一键部署以及修改游戏参数保姆教程
    前言《幻兽帕鲁》是Pocketpair开发的一款开放世界生存制作游戏,游戏于2023年11月2日至11月5日进行了封闭网络测试,于2024年1月18日发行抢先体验版本。游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等游戏支持单人游玩&创建本地房间(最......
  • 云服务器怎么搭建:从零到运行的基础指南
    本文分享自天翼云开发者社区《云服务器怎么搭建:从零到运行的基础指南》,作者:每日知识小分享随着云计算技术的快速发展,云服务器已经成为企业和个人首选的计算服务。云服务器具有高性能、高可用性、安全可靠、灵活扩展等优势,能够满足各种大规模数据处理、存储、应用部署和管理等需求......
  • Kob_配置Mysql与注册登录模块(中)
    配置Mysql与注册登录模块(中)session与jwtsession验证url包括公开的和需要权限的登录,注册这种页面肯定是公开界面,大家都可以访问.发送一个登录请求,将账号和密码发送到服务器,服务器接收数据去和数据库存储的账号密码数据进行比对,如果通过就向用户发送一个sessionid,用户会将这......
  • MySQL 零碎笔记2
    1.分区表适用场景:业务简单,单表查询,且都跟时间范围查询相关。数据需要定期清理数据,无需保留全部数据。数据更新频率较低,只有写入操作。优点:查询条件包含分区条件时,可以直接扫描必要的分区。也可以直接指定必要的分区来提高查询效率。聚合查询时,可以很容易地在每个分区上并行......
  • SSL证书在IIS服务器中部署
    SSL证书在IIS服务器中部署参考前提条件已通过数字证书管理服务控制台签发证书。具体操作,请参见购买SSL证书和提交证书申请。SSL证书绑定的域名已完成DNS解析,即您的域名与主机IP地址相互映射。您可以通过DNS验证证书工具,检测域名DNS解析是否生效。具体操作,请参见DNS验证。......
  • 一例MySQL的insert死锁
    原文链接:https://fanyilun.me/2022/03/09/%E4%B8%80%E4%BE%8BMySQL%E7%9A%84insert%E6%AD%BB%E9%94%81/ 分享一个最近遇到的一例MySQL死锁。关于MySQL的锁,几年前写过一篇原理类的文章,基础知识建议移步MySQL加锁分析。背景  我们使用MySQL实现了一个通用的分布式DB锁,建表语句......
  • Mysql中使用rule作为表的别名引发的语法错误
    不可以使用rule作为别名MySQL表别名不能为"rule",因为"rule"是MySQL的保留关键字。你可以使用其他名称作为别名,例如:SELECT*FROMyour_tableASrule;将"your_table"替换为你的表名,将"rule"替换为你想要的别名。"rule"是MySQL的保留关键字吗在MySQL中,“rule”作为保留关键......
  • 腾讯云-阿里云服务器搭建幻兽帕鲁,终极傻瓜式部署教程指南!
    腾讯云-阿里云服务器搭建幻兽帕鲁,终极傻瓜式部署教程指南!腾讯云与阿里云作为国内领先的云计算服务提供商,提供了《幻兽帕鲁》这款热门网络游戏高效的一键部署方案,玩家可以通过腾讯云或阿里云轻量应用服务器,在短短数分钟内搭建起属于自己的游戏世界。本文将详细介绍如何利用这两家云......