forum.bitel.ru http://forum.bitel.ru/ |
|
mysql err 24 http://forum.bitel.ru/viewtopic.php?f=19&t=4655 |
Страница 1 из 2 |
Автор: | skyb [ 13 окт 2010, 12:43 ] |
Заголовок сообщения: | mysql err 24 |
Замучался уже выискивать в чем может быть проблема и как победить Пытаюсь делать дамп мускула и вот что вылетает Код: # mysqldump bgbilling -p > bgbilling.sql Enter password: mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'log\_error\_1\_201007'': Out of resources when opening file '/usr/local/tmp_mysql/#sql_dc1_0.MYD' (Errcode: 24) (23) Код: # cat my.cnf # A generic my.cnf file based on /usr/share/mysql/my-medium.cnf # # This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) # # The following options will be passed to all MySQL clients [client] user = root #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] max_allowed_packet = 500M myisam_data_pointer_size = 6 max_connections = 100000 server-id=1 log-bin = /mnt/advanced/mysql_bin/mysql_bin user = mysql datadir = /var/lib/mysql port = 3306 socket = /var/lib/mysql/mysql.sock pid-file = /var/run/mysqld/mysqld.pid skip-locking key_buffer = 16M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M collation_server = utf8_unicode_ci character_set_server = utf8 # plugins plugin_dir=/usr/lib64/mysql/plugin #plugin-load=ha_archive.so;ha_blackhole.so;ha_innodb.so;ha_revision.so;ha_sphinx.so;libpbxt.so # acivate the federated storage engine #federated # Default to using old password format for compatibility with old and # shorter password hash. # Reference: http://dev.mysql.com/doc/mysql/en/Password_hashing.html old_passwords # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking # Point the following paths to different dedicated disks tmpdir = /usr/local/tmp_mysql #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 [mysqldump] quick max_allowed_packet = 640M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8 [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [mysql.server] user=mysql basedir=/var/lib [mysqld_safe] #open-files-limit=320000 err-log=/var/log/mysqld/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # MySQL Instance Manager options section [manager] user=mysql default-mysqld-path=/usr/sbin/mysqld socket=/var/lib/mysql/mysqlmanager.sock pid-file=/var/run/mysqld/mysqlmanager.pid password-file=/etc/mysqlmanager.passwd run-as-service monitoring-interval=20 port=2273 меня параметры Код: max_allowed_packet = 500M max_connections = 100000 max_allowed_packet = 640M #open-files-limit=320000 ----- вначале он небыл коменчен и был 32000 не помогает |
Автор: | Sets [ 13 окт 2010, 13:28 ] |
Заголовок сообщения: | Re: mysql err 24 |
Попробуй tempdir поменять на чтонибудь типа /tmp/mysql_tmp либо чтонибудь в /var, зачем без толку фрагментировать собственный статический раздел. либо вообще закоментировать строку пусть демон сам ищет себе место, скорее всего в /tmp и найдет |
Автор: | skyb [ 13 окт 2010, 13:35 ] |
Заголовок сообщения: | Re: mysql err 24 |
Забыл сказать, вначате там было /var/tmp я думал мож на место ругается...перенес где место много...картина таже |
Автор: | Sets [ 13 окт 2010, 14:00 ] |
Заголовок сообщения: | Re: mysql err 24 |
можно поковыряться в strace: Код: strace -f mysqldump bgbilling -p > bgbilling.sql 2> strace.log
|
Автор: | skyb [ 14 окт 2010, 18:58 ] |
Заголовок сообщения: | Re: mysql err 24 |
подропал таблици, прошло дальше...но непомогло...мож уже объемы непозволяют?...кто как делает дамп базы расскажите...поделитесь инфой!!! |
Автор: | Sets [ 14 окт 2010, 19:30 ] |
Заголовок сообщения: | Re: mysql err 24 |
я делаю mysqldump могу предложить 3 варианта 1) попробуй поставить phpmyadmin и через него сделай он на сколько я знаю делает другим способом - обычными запросами select 2) либо можешь сам скрипт написать который будет собирать сведения из таблицы information_schema и через select формировать dump или же поискать в гугле может уже ктонибудь сделал такой 3) Установить на отдельный комп mysql (желательно той же версии), и скопируй папку /var/lib/mysql/bgbilling на тот комп потом повтори операцию, хотя возможно еще понадобится папка /var/lib/mysql/mysql |
Автор: | skyb [ 15 окт 2010, 03:43 ] |
Заголовок сообщения: | Re: mysql err 24 |
А будет ли база актуальная при таком копировании? |
Автор: | Sets [ 15 окт 2010, 11:33 ] |
Заголовок сообщения: | Re: mysql err 24 |
skyb писал(а): А будет ли база актуальная при таком копировании? думаю если остановить mysql перед копированием, будет, у меня пару раз получалась такая операция, но это лишь временная мера, в смысле чтобы базы вытащить, не будешь же какждый раз так издеваться над сервером, после этого можно попробвать дропнуть DB и залить снова, может mysqldump будет работать нормально |
Автор: | skyb [ 15 окт 2010, 12:44 ] |
Заголовок сообщения: | Re: mysql err 24 |
Дропал, пустило немного дальше, но все равно нет:( |
Автор: | jack7 [ 15 окт 2010, 16:12 ] |
Заголовок сообщения: | Re: mysql err 24 |
Описание ошибки 24 Код: sh-3.2$ perror 24 OS error code 24: Too many open files что говорит команда? Код: lsof | grep mysql | wc -l это число открытых файлов сервером mysql для копирования можно без проблем использовать 1) mysqlhotcopy - если тип таблиц myisam 2) mysqldump --skip-lock-tables (не блокировать таблицы при копировании, имхо неточности некритичны, так как не раз восстанавливал из бекапа на тестовой машине, полный бекап несколько десятков гигов) |
Автор: | skyb [ 15 окт 2010, 16:54 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: # lsof | grep mysql | wc -l lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/skyb/.gvfs Output information may be incomplete. 273 Что ошибка значит понял, а вот победить не смог ![]() Цитата: 2) mysqldump --skip-lock-tables (не блокировать таблицы при копировании, имхо неточности некритичны, так как не раз восстанавливал из бекапа на тестовой машине, полный бекап несколько десятков гигов) а база на сколько будет актуальной?
|
Автор: | jack7 [ 15 окт 2010, 17:06 ] |
Заголовок сообщения: | Re: mysql err 24 |
skyb писал(а): Код: # lsof | grep mysql | wc -l lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/skyb/.gvfs Output information may be incomplete. 273 это немного, у меня больше 400 и проблем не видел Цитата: (Errcode: 24) (23) 23 ошибка мелькала, это уже число открытых файлов в системе - надо смотреть Код: sysctl fs.file-max Цитата: а база на сколько будет актуальной? зависит от скорости дисковой подсистемы и памяти в системе у меня порядка 30 гигов в час скидывается, если целиком - а если не скидывать логи за прошлые месяцы то тогда вообще приемлимо |
Автор: | skyb [ 15 окт 2010, 17:16 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: # sysctl fs.file-max я про актуальность бекапаfs.file-max = 747755 Цитата: 2) mysqldump --skip-lock-tables (не блокировать таблицы при копировании, имхо неточности некритичны, так как не раз восстанавливал из бекапа на тестовой машине, полный бекап несколько десятков гигов) этим способом ![]() |
Автор: | jack7 [ 15 окт 2010, 17:32 ] |
Заголовок сообщения: | Re: mysql err 24 |
skyb писал(а): Код: # sysctl fs.file-max fs.file-max = 747755 число приличное =) попробуйте тогда бекапить потаблично, сначала копируя только таблицы , которые не содержат логи за прошлые месяцы Код: mysqldump -p bgbilling table1 table2 table3 > tables_1-3.sql методом перебора найдете где спотыкается Цитата: я про актуальность бекапа 2) mysqldump --skip-lock-tables (не блокировать таблицы при копировании, имхо неточности некритичны, так как не раз восстанавливал из бекапа на тестовой машине, полный бекап несколько десятков гигов) этим способом ![]() если бекапить все таблицы, кроме логов за прошлые месяцы, бекап делается за 1 час в размере около 25 гигов. самые большие таблицы это логи - предполагаю, что их отставание на час в случае перезаливки бекапа (а это все-таки согласитесь крайняя ситуация) значения для меня не имеет ps использую копирование с slave mysql-сервера |
Автор: | skyb [ 16 окт 2010, 06:21 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: mysqldump --skip-lock-tables непрошел этот фокус ![]() |
Автор: | jack7 [ 16 окт 2010, 20:07 ] |
Заголовок сообщения: | Re: mysql err 24 |
ээм так он и не мог помочь по идее, это просто один из способов бекапов ошибка выдается при просмотре триггеров что команда показывает ? Код: show triggers; и есть ли там триггеры в базе? |
Автор: | skyb [ 17 окт 2010, 03:55 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: mysql> show triggers;
Empty set (1.65 sec) |
Автор: | jack7 [ 17 окт 2010, 11:25 ] |
Заголовок сообщения: | Re: mysql err 24 |
а как же Код: mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'log\_error\_1\_201007'': Out of resources when opening file попробуй так mysqldump -v bgbilling -p 1> out.log 2> error.log и логи глянь |
Автор: | skyb [ 18 окт 2010, 13:29 ] |
Заголовок сообщения: | Re: mysql err 24 |
Нечего интересного ![]() вот еррор лог Код: -- Retrieving table structure for table log_server_1_201009... -- Sending SELECT query... -- Retrieving rows... mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'log\_server\_1\_201009'': Out of resources when opening file '/usr/local/tmp_mysql/#sql_1308_0.MYI' (Errcode: 24) (23) Это последние строки в out.log Код: Reply-Message=33\n\nTrace:\nLogin found.\n');
/*!40000 ALTER TABLE `log_server_1_201009` ENABLE KEYS */; UNLOCK TABLES; |
Автор: | jack7 [ 18 окт 2010, 14:43 ] |
Заголовок сообщения: | Re: mysql err 24 |
попробуй иноды проверить во временной директории только убедись что полный путь до my.cnf правильно указан Код: grep tmpdir /etc/mysql/my.cnf | grep -v '#' | awk '{ print $3 }' | xargs -I[] df -i []
|
Автор: | skyb [ 19 окт 2010, 05:14 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: # grep tmpdir /etc/my.cnf | grep -v '#' | awk '{ print $3 }' | xargs -I[] df -i [] Файловая система Инодов Испол Своб Исп % смонтирована на /dev/md3 51806208 3329 51802879 1% /usr/local Да че с ним такое то... А может ограничивает ли ядро количество дескрипторов? как посмотреть где это значение и как его увеличить. А ещё на сколько ? |
Автор: | jack7 [ 19 окт 2010, 08:20 ] |
Заголовок сообщения: | Re: mysql err 24 |
с инодами ок обычно (при too many open files) хватает проверить сравнить 1) lsof | wc -l и sysctl fs.file-max 2) на mysql точно нет органичений по файлам? 3) проверить ulimit |
Автор: | skyb [ 19 окт 2010, 08:28 ] |
Заголовок сообщения: | Re: mysql err 24 |
jack7 писал(а): 2) на mysql точно нет органичений по файлам? Это то что в конфиге? Если да, то пробовал по разному....пробовал с тем конфигом что в первом посте, ну и значения менял jack7 писал(а): 3) проверить ulimit эт чаво? jack7 писал(а): с инодами ок обычно (при too many open files) хватает проверить сравнить что дальше? ![]() |
Автор: | jack7 [ 19 окт 2010, 09:20 ] |
Заголовок сообщения: | Re: mysql err 24 |
1) сравни Код: # lsof | wc -l и Код: # /sbin/sysctl fs.file-max 2) проверка лимитов Код: # ulimit 3) проверить лимиты mysql Код: mysql> show variables like 'open_files_limit';
|
Автор: | skyb [ 20 окт 2010, 07:58 ] |
Заголовок сообщения: | Re: mysql err 24 |
Код: ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (blocks, -f) unlimited pending signals (-i) 73728 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 73728 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited от пользователя mysql делал Код: show variables like 'open_files_limit';
+------------------+-------+ | Variable_name | Value | +------------------+-------+ | open_files_limit | 1024 | +------------------+-------+ |
Автор: | jack7 [ 20 окт 2010, 10:06 ] |
Заголовок сообщения: | Re: mysql err 24 |
1) Код: mysqldump -p --single-transaction bgbilling > bgbilling.sql если не получится 2) попробуй добавить в my.cnf и перезапустить mysql Цитата: set-variable = open_files_limit=10240
|
Автор: | skyb [ 20 окт 2010, 10:09 ] |
Заголовок сообщения: | Re: mysql err 24 |
а в какой секции то добавить? |
Автор: | jack7 [ 20 окт 2010, 10:11 ] |
Заголовок сообщения: | Re: mysql err 24 |
секция [mysqld] но проще сначала попробовать Код: mysqldump -p --single-transaction bgbilling > bgbilling.sql
|
Автор: | skyb [ 20 окт 2010, 10:23 ] |
Заголовок сообщения: | Re: mysql err 24 |
Сделал, прошло, а что сделал то?? что это значит...я про Код: mysqldump -p --single-transaction bgbilling > bgbilling.sql зы плюсик от меня ![]() |
Автор: | jack7 [ 20 окт 2010, 10:31 ] |
Заголовок сообщения: | Re: mysql err 24 |
если сработало - значит у тебя тип таблиц innodb ![]() а для них рекомендуют mysqldump --single-transaction, как вариант не препятствующий выполнению текущих операций чтения/записи таблиц базы ps спс за + ![]() |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |