`
骑猪逛街666
  • 浏览: 141942 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Mysql常见连接问题汇总

 
阅读更多

阅读原文请点击

摘要: 实为吾之愚见,望诸君酌之!闻过则喜,与君共勉,诸君有其他案烦请留言提供,以帮助更多人

 

实为吾之愚见,望诸君酌之!闻过则喜,与君共勉!诸君有其他案例烦请留言提供,以帮助更多人!

 

第一节 环境准备

1.1 自建mysql环境主机

主机:iZbp1e*****krn92qrx0Z

内网ip: 10.26.254.217

1.2 客户端ecs主机

主机:iZbp1e6*****zkrn92qrwzZ

内网ip: 10.24.236.231

1.3  说明

说明:mysql的account的组成为’user’@’host’

第二节  常见问题复现

2.1 ERROR 1045 (28000)

现象描述:

ERROR 1045 (28000): Access denied for user 'testcon'@'10.24.236.231' (using password: YES)

可能1:password错误

37c9fdaab6b2b671eee895ef90450966ced26c53

f03f3466af6c3103beabf0ef9bd0ddbf1bf79a15

当使用'testconcon'@'10.24.236.231'的account错误的password时,登录失败,因为创建了testcon@’%’,

所以account验证可以通过,但是密码不对

可能2:user错误(account错误)

37c9fdaab6b2b671eee895ef90450966ced26c53

f03f3466af6c3103beabf0ef9bd0ddbf1bf79a15

当使用错误的user时,登录失败,按照之前的account的构成,实际的进行验证的account是: 'testconcon'@'10.24.236.231',

但是并没有创建'testconcon'@'10.24.236.231',而是创建的为testcon@’%’,所以account验证失败,即使使用正确的密

码也无法登录,当创建一个'testconcon'@'%'的时候,使用正确密码则登录正常,如下:

502e0c1f754b995fc5130771b9891e13fc5ef800

cef972b80f17cc5af0bc033a9834ae68429c0115

可能3:account错误

f749283b95edc4402d9e23f2eb6f642048747674

e0787e128eee9ed23684d00754b8625acf75e89c

d15744f6ac724e91b8e0037520a18797479fbce5

与第二种相比,此次创建的账号和密码有如下对应:

Account

Password

testcon@'10.24.236.231'

123

testcon@'1.1.1.1'

12

当使用testcon@'10.24.236.231'以及密码12登录时,登录失败,因为testcon@'10.24.236.231'的

password为123,所以使用password为123可以正常登录

2.2 ERROR 2005 (HY000)

现象描述:

ERROR 2005 (HY000): Unknown MySQL server host 'com-mysql.coflodhn1n0y.us-west-1.rds.amazonaws.com' (110)

可能1:DNS解析异常

59a8469a7633bcacb29d1f782f8864fc5c61c77b

同ping来获取ip,无法获取到,故mysql命令行进行连接时就出错了,此时需要通过ping来观察dns的解析,并检查系统dns配置

2.3 ERROR 1449 (HY000)

现象描述:

ERROR 1449 (HY000): The user specified as a definer ('testcon'@'10.24.236.231') does not exist

或者

ERROR 1045 (28000): user not exist

可能1:account不存在(阿里云rds高安全模式特有)

af8dc9293b59e1c25271b9bdf2b1d6740f8a3f24

0d9546b0d7a49d4bcf11687e19f3d5b55552b508

当把高安全模式切换到标准模式是,再次进行测试则变成ERROR 1045 (28000): Access denied for user 'contest'@'10.24.236.231'

 (using password: YES),如下:

4d4a632939241bbe3bd61458d7279385327d5d67

18dc5281ca699d64f14b18393bdc9253da495d54 

2.4 ERROR 2003 (HY000)

现象描述:

ERROR 2003 (HY000): Can't connect to MySQL server on 'test.mysql.rds.aliyuncs.com' (110)

可能1:安全限制,不允许访问

ace865cee84d835533da963fa393bae99a84b2dd

一般表现为telnet特定特定端口不通

可能2:端口错误

f447ae3a930be14e2e18bcb3e1d5ffe9799beae2

端口错误,即使没有安全限制也无法连接,telnet 特定端口也不会通

可能3:mysql服务未正确运行

先关掉自建mysql数据库

8540337152dda839d4cd553c23fbafb7b699645c

然后进行连接

e16e83ab5f246c647911fe60918ff2381decca1f

同样表现为telnet 特定断开不通

可能4:如果是rds  for mysql,且访问模式为标准模式,原因为客户端的ip地址在rds的白名单未配置

f87560fcdb16c8b8e5173493b1a39417f42e8cef

990e9f18594778c02d66580c493956c428f96566

当加上白名单后(等待任务运行完成):

c666c99f4a8f182dbb7892cf5ecb15156c80e50b

cd2d73e37856ed29d86204ef78906a66b3885979

2.5 ERROR 1135 (HY000)

现象描述:

ERROR 1135 (HY000): Can't create a new thread (errno 11); if you are not out of available memory, you can consult the

 manual for a possible OS-dependent bug

可能1:limits.conf文件对max user processes做了限制

9dff97f93203e5cb27457642e7d54b6da1540911

2e4cdb90fa8165df74efab6488fd65528a8d2251

5799551cfc02dd5a8f90e7b1341a1a8fa9f70b95

 

可能2:mysql没有可用内存

018c3a66648cd99725b95bce85aa11b6296755ce

a153ec0f3ea525008edc2c19e0a24728c9cc6151

 

2.6 ERROR 1130 (HY000)

现象描述:

ERROR 1130 (HY000): Host '192.168.1.3' is not allowed to connect to this MySQL server

可能1:mysql.user表里没有匹配的host名称

91ae7bdcf0c0e099f62aefa663ddd4b4b474ad44

c4284fa53f77e841714f149510723850a9ce371f

2.7 ERROR 1045 (HY000)

现象描述:

ERROR 1045 (HY000): #28000ip not in whitelist

可能1:rds for mysql的提示,且访问模式为高安全模式才会出现,原因是ip地址没有在rds的白名单中

a7b237c41c49c41d4f818f8fefbae922e8033dd6

c47622db62b54577e4a586c267b12f2a8c897b00

feb6aca2af711296abe83edaac98555291e9aa2d

当添加白名单后(等待任务运行完成):

 

bbaf1bc39792ca633cf7bd4d0cd6e71180c90ade

 

 3a4bde225109cdcea0fde04e145f44a51fbdca44

2.8 ERROR 5 (HY000)

现象描述:

ERROR 5 (HY000): Out of memory (Needed 260400 bytes)

可能1:mysql没有可用内存

018c3a66648cd99725b95bce85aa11b6296755ce

75cbb28d21bfcff8b18637210c7f016f86e42fe2

2.9 ERROR 1129 (HY000)

现象描述:

ERROR 1129 (HY000): Host '10.24.236.231' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

可能1:达到了mysql服务器设置的max_connect_errors的值

3c1c1716d03a192dbd022cfd403092e44d81a4b1

4ea50cc2f39c2461a10c55e5fc70348036fa42c6

上面通过3次telnet,然后进行第四次时提示ERROR 1129 (HY000): Host '10.24.236.231' is blocked because of many connection

 errors; unblock with 'mysqladmin flush-hosts',原因是已经超过了max_connect_errors=3的值,解决方法为mysqladmin flush-hosts:

 

ab14441c0acdafbf5c04b1c8db24f9bca787002f

14f3e166c9531737342084f7d2842da8adacefa1

需要注意的是,当进行多次登录失败时,是没有影响的:

53b49f8f5e8bae2ab3352bd0c0a844b82fc3b8bd

 

2.10 ERROR 1226 (42000)

现象描述:

ERROR 1226 (42000): User 'testcon' has exceeded the 'max_user_connections' resource (current value: 2)

可能1:达到了该account设定的max_user_connections大小

0748484714de85a8424ea0cf31426b4ff7f4e291

5f945fa8466c659d3d4f0b060d70124298b03d4d

当使用grant设定了testcon@’%’的max_user_connections为2时,并发连接超过2就会提示ERROR 1226 (42000): 

User 'testcon' has exceeded the 'max_user_connections' resource (current value: 2),如果没有手动grant指定,会

用系统参数max_user_connections的值来设定,解决办法是重新grant为0或者调整系统变量max_user_connections,

如果没有权限,也可以删除账号重新创建

2.11 ERROR 1226 (42000)

现象描述:

ERROR 1226 (42000): User 'testcon' has exceeded the 'max_connections_per_hour' resource (current value: 2)

可能1:达到了该account设定的max_connections_per_hour大小

599f003c2e807f7d4c990aed1b63b10c50880086

f2e1dca9d8ee6f0d894b9b5ae0d960048c372ef5

使用testcon一小时内登录2次后就会提示ERROR 1226 (42000): User 'testcon' has exceeded the 

'max_connections_per_hour' resource (current value: 2)

解决办法是重新grant该账号max_connections_per_hour为0,如果没有权限,也可以删除账号重新创建

2.12 ERROR 1040 (HY000)

现象描述:

ERROR 1040 (HY000): Too many connections

可能1:达到了mysql系统参数max_connections的限制

68dfd7bb414c9687c049df9f0debf417c2c663c2

226f3b431ea739043958f8149ab0cbdeceeac8b0

当并发连接大于max_connections的值时,就会出现ERROR 1040 (HY000): Too many connections

解决办法是调整max_connections的值,如果是rds for mysql,需要升级实例规格

阅读原文请点击

分享到:
评论

相关推荐

    MySQL数据库常见问题汇总

    ### MySQL数据库常见问题与解决方案 #### 一、自增字段重置与自增长字段功能实现 **1. 自增字段重置** 在MySQL中,如果你需要重置自增字段(通常用于清理数据后重新开始编号),可以使用以下SQL语句: ```sql ...

    MYSQL数据库常见问题诊断.docx

    MYSQL 数据库常见问题诊断 MYSQL 数据库是当前最流行的开源关系数据库管理系统之一,广泛应用于各种 Web 应用程序中。然而,在生产环境下,MYSQL 数据库也可能出现各种问题,影响应用程序的稳定性和性能。本文档...

    初学者必读 MySQL 数据库常见问题汇总.docx

    MySQL数据库常见问题汇总 本文总结了初学者常见的MySQL数据库问题,包括自增字段重新赋初值、实现自增长字段、修改用户密码、远程连接MySQL等问题的解决方案。 1. 关于自增字段重新赋初值的问题 在MySQL中,自增...

    MySQL常见面试题汇总

    MySQL常见面试题汇总 MySQL 是一种关系型数据库管理系统,广泛应用于各种 web 应用程序中。在面试中,MySQL 相关的问题是非常常见的。下面是 MySQL 常见面试题汇总,涵盖索引相关、事务处理、锁机制、SQL 优化等多...

    初学者必读 MySQL 数据库常见问题汇总.pdf

    MySQL 数据库常见问题汇总 在学习 MySQL 数据库时,初学者经常遇到的一些常见问题,本节将对这些问题进行汇总和解答。 一、关于自增字段重新赋初值的问题 在 MySQL 中,如果我们想要重新赋初值自增字段,可以使用...

    MySQL 配置问题汇总

    MySQL 配置常见问题解决,比如 免安装版和安装版可能出现的数据库开机后连接失败,免安装安装失败不可用问题,windows系统和mysql版本不兼容问题!

    mysql常见面试题汇总

    以下是一系列关于MySQL的常见面试问题和答案,旨在帮助你深入理解MySQL的核心功能和最佳实践。 1. **MySQL的基本概念** - **关系型数据库**:MySQL基于关系型数据模型,它将数据存储在表格形式的结构中,通过列和...

    MySQL面试常见问题及答案(汇总版)

    MySQL 面试常见问题及答案(汇总版) 这篇文章总结了 MySQL 面试中常见的问题及答案,涵盖了 MySQL 的基础知识、体系结构、SQL 语言、数据库事务、索引、视图、存储过程、触发器、事务、隔离级别、SQL 注入、数据...

    mysql 安装失败问题汇总.docx

    - 在MySQL 5.1安装过程中,可能遇到安全设置应用失败的问题,错误代码1045,表示连接失败。 - 解决:确保TCP端口3306开放,以便客户端应用能够连接到服务器。如果运行个人防火墙,请检查其设置,允许3306端口通信...

    Jmeter连接Mysql详细图文教程

    本文详细介绍了如何使用JMeter连接MySQL数据库并执行SQL查询的过程,包括准备阶段、配置阶段以及常见问题解决方法等内容。通过以上步骤,可以有效帮助测试人员模拟数据库访问场景,提高性能测试的准确性和效率。希望...

    Mysql 5.7.14 使用常见问题汇总(推荐)

    以上所述是小编给大家介绍的Mysql 5.7.14使用常见问题汇总,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! 您可能感兴趣的文章:mysql ...

    mysql面试-高质量mysql面试题汇总-常见mysql面试题

    本篇将基于提供的面试题汇总,深入探讨MySQL的一些核心概念、最佳实践以及常见问题。 1. **基本概念** - 数据库:存储数据的容器,MySQL中的数据库由多个表组成。 - 表:存储数据的结构化形式,包含列和行。 - ...

    C++与mysql连接遇到的问题汇总

    在开发过程中,使用C++与MySQL的直接连接通常是一个比较常见的做法,因为它可以提供更多的控制和优化可能性。然而,在实施这一连接时,开发人员可能会遇到各种问题,下面详细介绍C++与MySQL连接的思路以及在实践中...

    VC+mysql资料大汇总

    - 这是一个文档,很可能详细介绍了在VC环境中开发MySQL数据库应用的各个方面,包括环境配置、API介绍、常见问题和解决方案等。 7. **自己动手用C++类封装Mysql C API_0-1World.files**: - 这个文件夹可能包含了...

    mysql资料完整版

    综上所述,"mysql资料完整版"提供的内容覆盖了MySQL的安装、使用、编程操作以及常见问题的解决,对于初学者和开发者来说是一份宝贵的资源。通过学习和实践,你可以更好地掌握MySQL的运用,提升数据库管理技能。

    Mysql10个常见查询汇总,全覆盖查询场景.zip

    在这个“Mysql10个常见查询汇总,全覆盖查询场景.zip”压缩包中,我们很可能找到了一份关于MySQL查询语句的详细指南,涵盖了各种常见的查询场景。以下是这些查询场景可能涉及的一些关键知识点: 1. **选择(SELECT...

    MySQL DBA常用命令大汇总

    例如:连接名为xhkdb的数据库,命令为:mysql> use xhkdb;。 5. 查看当前使用的数据库:使用命令select database();。 6. 查询当前数据库包含的表信息:使用命令showtables;(注意末尾有s)。 表的操作需要在连接...

    MySQL数据库PDF文档

    常见的多表查询包括内连接、外连接、自连接等。 本文档的知识点涵盖了MySQL数据库的基础概念、数据类型、SQL语言、约束条件、查询语言、聚合函数、子查询和多表查询等方面,为读者提供了一个全面的MySQL数据库知识...

    JDBC数据库连接串总汇

    下面列举了一些常见数据库的JDBC连接字符串示例,以及它们各自的参数: #### MySQL数据库 ```java String url = "jdbc:mysql://localhost:3306/databaseName?useSSL=false&serverTimezone=UTC"; ``` - `localhost...

Global site tag (gtag.js) - Google Analytics