首页 / MYSQL / 通过套接字的mysql连接失败
通过套接字的mysql连接失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了通过套接字的mysql连接失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2782字,纯文字阅读大概需要4分钟。
内容图文
![通过套接字的mysql连接失败](/upload/InfoBanner/zyjiaocheng/881/6b52a7d5f95b4406b401dd2449aa9686.jpg)
情况是,我们有带有Linux的AWS EC2介质实例.
它也有Drupal.除此之外,我们还有一些文件可以访问mysql,其设置与Drupal相同.
问题是-某一时刻mysql拒绝连接.
当负载低或负载大(与此无关)时,就会发生这种情况,一旦无法访问,mysqld进程仍在运行,并且不会崩溃.
重新启动此过程不能解决问题.重新启动实例-解决问题.
当我连接到本地主机时,它给出了这个:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
当mysql.sock文件在适当的位置并具有正确的权限.
重新启动mysqld没有帮助,但是重新启动实例-解决了问题.
my.cnf看起来像这样:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
wait_timeout=28800
interactive_timeout = 28800
max_allowed_packet=32M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
mysqld运行也没有任何错误,并且在日志中我们有以下内容:
120830 9:48:00 [Note] /usr/libexec/mysqld: Shutdown complete
120830 09:48:00 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120830 09:48:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120830 9:48:01 [Note] Plugin 'FEDERATED' is disabled.
120830 9:48:01 InnoDB: The InnoDB memory heap is disabled
120830 9:48:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120830 9:48:01 InnoDB: Compressed tables use zlib 1.2.3
120830 9:48:01 InnoDB: Using Linux native AIO
120830 9:48:01 InnoDB: Initializing buffer pool, size = 128.0M
120830 9:48:01 InnoDB: Completed initialization of buffer pool
120830 9:48:02 InnoDB: highest supported file format is Barracuda.
120830 9:48:02 InnoDB: Waiting for the background threads to start
120830 9:48:03 InnoDB: 1.1.8 started; log sequence number 4191070086
120830 9:48:03 [Note] Event Scheduler: Loaded 0 events
120830 9:48:03 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.20' socket: '/var/lib/mysql/mysql.sock -u root' port: 3306 MySQL Community Server (GPL)
再次发生问题时,我再次获取日志,尝试先停止httpd然后mysqld,然后运行mysqld然后再运行httpd,并且日志与正常情况下的日志完全相同,并且重启顺序相同.
更改php.ini并没有保存情况:
mysql.allow_persistent = Off
按此顺序重新启动无济于事(甚至尝试了其他顺序):
service httpd stop
service mysqld stop
service mysqld start
service httpd start
我们想找出问题所在以及如何防止它那样跌落.
解决方法:
仅从提到的症状来看,可能会继续发生以下情况.希望对您有所帮助.
您的PHP可能使用持久性数据库连接,而这些连接可能无法正确关闭.一旦达到特定限制,数据库将不再接受新连接(来自UNIX套接字或网络).
在php.ini中,有一些与数据库持久连接有关的设置,例如:
mysql.allow_persistent = Off
mysqld重新启动不起作用的事实可能与两件事有关:
>重新启动可能与显式服务mysqld stop和紧随其后的服务mysqld start不同;另外,您可以在重新启动时检查日志,以查看是否遇到异常情况.
>重新启动顺序可以稍作更改,以包含您的PHP设置,因此您将首先停止apache,然后停止mysqld;之后,以相反的顺序启动它们.
内容总结
以上是互联网集市为您收集整理的通过套接字的mysql连接失败全部内容,希望文章能够帮你解决通过套接字的mysql连接失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。