错误1
Lost connection to MySQL server at 'waiting for initial communication packet
原因分析:
mysql开启了DNS的反向解析功能,这样mysql对连接的客户端会进行DNS主机名查找。
mysql处理客户端解析过程:
1)当mysql的client连过来的时候,服务器会主动去查client的域名。
2)首先查找 /etc/hosts 文件,搜索域名和IP的对应关系。
3)如果hosts文件没有,则查找DNS设置,进行DNS反向解析,直到timeout连接失败。
mysql的DNS反向解析:
1)mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user里的权限记录(某些是用hostname定义的)。
2)如果mysql服务器设置了dns服务器,并且客户端ip在dns上并没有相应的hostname,那么这个过程很慢,导致连接等待。
解决方法
1.在mysql配置文件(my.cnf 默认路径/etc/my.cnf)添加skip-name-resolve禁用dns解析(推荐使用)
> ...
> skip-name-resolve
2. 把client的ip写在mysql服务器的/etc/hosts文件里,随便给个名字做主机映射即可。
my.cnf配置的几个参数:
skip-name-resolve 跳过DNS反向解析过程.(这样就不能使用主机名连接mysql了,只能使用ip连接)
skip-grant-tables 跳过授权表(当mysql登陆密码忘记时的解决办法)
skip-networking 跳过TCP/IP连接
skip-host-cache 禁用主机名缓存;要想清除主机名缓存,执行FLUSH HOSTS语句或执行mysqladmin flush-hosts命令
感谢:
https://www.cnblogs.com/94cool/p/9429003.html
错误2
could not be resolved: Temporary failure in name resolution
mysql日志告警信息如下:
13333 18:41:25 [Warning] IP address '192.168.2.173' could not be resolved: Temporary failure in name resolution
13333 18:41:25 [Warning] IP address '192.168.2.173' could not be resolved: Temporary failure in name resolution
......
原因分析:
原因1:可能是未授权
原因2:MYSQL Server在本地内存中维护了一个非本地的Client TCP cache。这个cache中包括了远程Client的登录信息,比方IP地址。hostname等信息。
假设Client连接到server后,Mysql首先会在本地TCP池中依据IP地址解析client的hostname或者反解析,假设解析不到。就会去DNS中进行解析,假设还是解析失败
就是在error log中写入这种警告信息。
解决方法
1. 如果未授权则进行授权
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
#注:%-是通配符,也可以是具体client的ip地址,yourpassword是mysql server的密码
2. 配置文件中追加以下配置(默认位置/etc/my.cnf)
> ......
> skip-host-cache
> skip-name-resolve
错误3
Got a packet bigger than 'max_allowed_packet' bytes
原因分析:
当用navicat等第三方客户端工具批量导入sql文件或者程序当中批量插入大量数据时容易出现以上错误。即一次导入的数据字节数超过了设置的max_allowed_packet的值
解决方法1:
设置max_allowed_packet的值
1.查看当前一次所允许插入的最大字节数
mysql> show VARIABLES like 'max_allowed_packet';
2.设置为一个理想值
mysql> set global max_allowed_packet = 4194304 *10;
3.可以再次查看max_allowed_packet确认
解决方法2
如果是批量导入sql文件引起的,可以使用命令行导入(命令行导入是每次只导入一条)
mysql> source sql文件路径
来源:CSDN
作者:思维的深度
链接:https://blog.csdn.net/skh2015java/article/details/103770662