我偶然发现了一个问题,决定征求意见,最终找到一个有同样业务需求(和问题)的人。
总结--我们最近将一个客户端的SQL服务从一个自托管的MySQL迁移到了Google CloudSQL MySQL 5.7服务,现在我们正在寻找一种方法,允许我们的客户端访问/查看和分析他们自己托管的ELK堆栈中的MySQL慢速日志。
这不是一个问题,因为我们可以访问SQL服务缓慢的日志文件,并设法“跟踪”,导出和索引这些日志在Elasticsearch中。下面是一个简单的示例,展示了一个特定的弹性搜索MySQL缓慢日志单文档的外观。
请注意,每一份文件都载有:
Time
User@Host
Query_time
我的MySQL服务器一直在异乎寻常地使用更高的CPU负载。因此,我环顾了一下如何记录每个查询,并发现了许多教程,它们都说着同样的话:http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/。
我遵循了教程,但日志文件不包含任何查询。我认为我应该提到的一件事是,/var/logs/ --文件夹mysql不存在,所以我创建了这个文件夹,并在其中创建了一个名为mysql.log的日志文件。
我盒子的一个小背景:
Arch Linux
Nginx
PHP/Ruby/Python/Perl
MySQL
我有以下情况:
MySQL server:
IP: 192.168.0.1
user: testing
pass: testing123123
MySQL client #1:
IP: 192.168.0.2
MySQL client #2:
IP: 192.168.0.3
进入MySQL服务器:
GRANT ALL PRIVILEGES ON *.* TO testing@'192.168.0.2' IDENTIFIED BY 'testing123123';
flush privileges;
客户端#1被授予,而客户端#2没有被授予。
然后在客户端#1
由于主机公司节点的问题,我从一个节点迁移到另一个节点。
现在服务器正在工作,但是mysql似乎有问题。在directadmin In MYSQL Management中,我看到了这样的消息:
Error connecting to MySQL: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这些网站运行在Magento上,在该错误日志文件中有一条消息:
No such file or directory lib/Zend/Db/Adapter/Pdo/Mysql.php
我有一个web应用程序,有时我开始接收PHP错误(“无法连接到MySQL服务器”),过一段时间它就会被解决。
MaxConnection在my.cnf中设置为750
是否有任何日志或方法来了解为什么MySQL服务器会停机(或者它是否达到连接限制?)
任何帮助都是感激的,谢谢!
更新
在阅读了华纳下面的答案后,检查了my.cnf文件,并试图找到错误日志,但它并不存在。
[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old
这是我的一个朋友遇到的问题。
他有一个只有9000记录的表keyword。MySQL服务器有一个公共ip,当我从我的机器执行SELECT id, word FROM keyword (我通过互联网访问MySQL服务器)时,查询速度非常快(200毫秒)。无论我运行多少次,它都是非常快的。到目前一切尚好。
现在,他在他的内部网中的机器上运行相同的查询,并使用公共ip再次访问MySQL服务器。查询有时需要多达40秒的时间,并且在MySQL服务器日志中被记录为慢查询。他也尝试了在他的内部网中的另一台机器上,再次尝试,有时需要40秒。
这怎麽可能?如果这只是他的内部网中的网络问题,那么为什么MySQL会