我是网站开发人员,服务器管理员告诉我,mysql数据库存在争用问题。我想自己调查这些争用问题,看看它们是什么,但我不知道如何或在哪里寻找争用问题。请问你能告诉我在哪里看。我需要查看日志吗?如果是这样的话,我会在哪里找到它们?数据库是在Linux上运行的MySQL v5.1。我不确定是什么版本,因为我没有控制面板或ssh访问,但我的目标是今天就这样。
非常感谢
答案 0 :(得分:2)
争用问题通常是一种说法存在锁定问题,这意味着查询处于锁定状态。 您需要识别它们并检查您的应用程序是否有解决方案。
当服务器忙时,您可以运行SHOW PROCESSLIST以查看当前锁定的查询。
SHOW OPEN TABLES还可以帮助您确定问题并another question posted here
答案 1 :(得分:1)
首先,您应该使用以下命令检查mysql是否正在运行。
mysqladmin -u root -p status
此命令将显示: -
Enter password:
Uptime: 4 Threads: 1 Questions: 62 Slow queries: 0 Opens: 51 Flush tables: 1 Open tables: 60 Queries per second avg: 15.200
同时检查错误类型: -
http://dev.mysql.com/doc/refman/5.5/en/privilege-system.html
答案 2 :(得分:0)
也许你应该启动,询问你的服务器管理员他/她看到了什么让他/她相信存在争用问题 - 他们比你更了解你的DBMS。通过你为这项服务支付费用的声音。
如果你说的是存储表的数据库引擎会有所帮助:这是迄今为止MySQL中争用的最关键问题。您可以通过从MyISAM切换到Innodb来解决您的问题。
我没有控制面板或ssh访问
IME现成的控制面板适用于(非常)基本的管理任务,但对此没什么用处。
我首先看一下慢查询日志。这应配置为记录所有查询 - 如果它没有告诉管理员您需要更改。查看哪些查询具有较高的锁定时间,然后识别执行查询的lonf导致高锁定时间。然后解决它们。