SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.02.2010 14:49:27

dexs
Участник
Зарегистрирован: 22.02.2010
Сообщений: 5

Не могу посмотреть статус сервера mysql.

Собственно никак не поcмотреть "server status" ни из консоли ни из phpmyadmin.
Виснет запрос и всё. Также заметил что запросы "server status" не убить , в листинге процессов висят как KILLED.
Reboot не помог.

Linux Slackware
Mysql 5.0.27
php 5.2.6

Неактивен

 

#2 22.02.2010 14:53:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не могу посмотреть статус сервера mysql.

А что за зверь такой — server status? Просто SHOW STATUS?

Неактивен

 

#3 22.02.2010 16:38:22

dexs
Участник
Зарегистрирован: 22.02.2010
Сообщений: 5

Re: Не могу посмотреть статус сервера mysql.

Да , точно так.

Неактивен

 

#4 22.02.2010 16:41:40

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не могу посмотреть статус сервера mysql.

Сервер нагружен? Может, он просто не справляется с нагрузкой? Другие потоки
что делают?

Неактивен

 

#5 22.02.2010 17:57:05

dexs
Участник
Зарегистрирован: 22.02.2010
Сообщений: 5

Re: Не могу посмотреть статус сервера mysql.

Сразу после ребута немогу посмотреть  !
Только сервер перегрузил , захожу в phpmyadmin жму "Показать состояние MySQL" и тишина .
Захажу через консоль , набираю "show status;" и тишина.

Неактивен

 

#6 22.02.2010 18:10:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не могу посмотреть статус сервера mysql.

А что делают другие потоки? Сервер нагружен? Может, он просто не
справляется с нагрузкой? wink

Если Вы смогли соединиться с сервером, это значит, что и все остальные
смогли соединиться. Надо таки смотреть SHOW PROCESSLIST и прочее.

Неактивен

 

#7 22.02.2010 18:31:52

dexs
Участник
Зарегистрирован: 22.02.2010
Сообщений: 5

Re: Не могу посмотреть статус сервера mysql.

mysql> SHOW PROCESSLIST;
+---------+------+-----------+-------+---------+--------+-----------+--------------------------------+
| Id      | User | Host      | db    | Command | Time   | State     | Info                           |
+---------+------+-----------+-------+---------+--------+-----------+--------------------------------+
| 2917632 | root | localhost | NULL  | Killed  | 456014 | preparing | SHOW /*!50000 GLOBAL */ STATUS |
| 2917955 | root | localhost | mysql | Killed  | 455800 | preparing | SHOW GLOBAL STATUS             |
| 2920739 | root | localhost | mysql | Query   | 453684 | preparing | SHOW GLOBAL STATUS             |
| 2921019 | root | localhost | mysql | Query   | 453383 | preparing | SHOW GLOBAL STATUS             |
| 3442038 | root | localhost | NULL  | Query   |      0 | NULL      | SHOW PROCESSLIST               |
+---------+------+-----------+-------+---------+--------+-----------+--------------------------------+
5 rows in set (0.00 sec)

Неактивен

 

#8 23.02.2010 03:21:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не могу посмотреть статус сервера mysql.

Ух, какая красота. Состояние preparing — это этап оптимизатора. Он должен
проходить моментально на этом запросе. В голову приходят две вещи: или
это какая-то жесткая бага, или оптимизатор упирается в ресурсы.

В любом случае, тут есть некоторый элемент гадания sad

Я бы начал смотреть с:
- есть ли место на диске
- выключены ли apport, selinux, еще какие-то ограничители
- выполняются ли другие запросы (например, SELECT 1)

Неактивен

 

#9 23.02.2010 10:19:12

dexs
Участник
Зарегистрирован: 22.02.2010
Сообщений: 5

Re: Не могу посмотреть статус сервера mysql.

mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

Место на диске занято 10%.

Это рабочий сервер . Всё работает и нету тормозов.
Самое интерестное , что у меня 2 таких сервера и у обоих такая фигня.

На машине стоит Slackware там нету никаких ограничении.

Сервер стартует с след. параметрами:
--max_connections=1024
--query_cache_size=64M
--skip-name-resolve

А вот что в файле my.cnf :
# my.cnf
#

[mysqld]
port = 3306
socket = /var/tmp/mysql.sock
key_buffer_size = 1Gb
innodb_buffer_pool_size = 3Gb
innodb_log_file_size = 64Mb
table_cache = 1024
thread_cache_size = 128

Неактивен

 

#10 23.02.2010 16:38:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не могу посмотреть статус сервера mysql.

Хм, даже не знаю, что посоветовать. Попробуйте поднимите отдельный
экземпляр MySQL на другом порту, но сборку возьмите официальную.
В нем тоже будет такое проявляться? Если нет — скорее всего, дело в
слакваревской сборке; если да — можно будет помучать этот экземпляр
(например, натравить на него strace), чтобы посмотреть, во что он упи-
рается.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson