Примечания к бинарным дистрибутивам Linux
Для работы MySQL необходим Linux версии не ниже 2.0.
Предупреждение: По данным, полученным нами от некоторых пользователей MySQL, на Linux с ядром 2.2.14 имеются серьезные проблемы с устойчивостью работы MySQL. Если вы используете это ядро, необходимо обновить его до версии 2.2.19 или выше, либо до ядра версии 2.4. Аргументы в пользу 2.4 становятся еще более весомыми при использовании многопроцессорной системы, поскольку переход на эту версию ядра приводит к заметному увеличению скорости.
Как правило, бинарный дистрибутив линкуется с опцией -static , а это значит, что обычно нет необходимости беспокоиться о том, какая версия системных библиотек у вас установлена. Не требуется также устанавливать LinuxThreads. Размер программы, слинкованной с опцией -static , обычно больше в сравнении с версией, собранной динамически, однако скорость работы у нее выше (3-5%). Существует, однако, одна проблема. Она заключается в том, что со статически слинкованными программами невозможно использовать определяемые пользователем функции (user-definable function, UDF). Если вы собираетесь писать или использовать UDF"ы (это информация, касающаяся только программистов на C или C++), вам следует собственноручно собрать MySQL с использованием динамического линкования.
При использовании систем, базирующихся на libc (в отличие от glibc2 -систем), могут возникать некоторые проблемы с разрешением имен удаленных компьютеров и использованием getpwnam() с бинарной версией (это происходит из-за того, что, к сожалению, glibc зависит от некоторых внешних библиотек при разрешении имен и использовании getpwent() , даже при сборке с опцией -static ). В таком случае при запуске mysql_install_db возможно появление следующего сообщения об ошибке:
Sorry, the host "xxxx" could not be looked up
Или же - при запуске mysqld с опцией --user - сообщение об ошибке может быть таким:
getpwnam: No such file or directory
Эту проблему можно решить одним из следующих способов:
загрузить и установить дистрибутив MySQL с исходными текстами (RPM или дистрибутив tar.gz ).
Запустить mysql_install_db --force , чтобы избежать проверки resolveip в mysql_install_db . Оборотной стороной такого подхода является невозможность работать с именами машин в таблицах прав доступа - вместо них следует должны использовать IP-адреса (заисключением localhost ). Если у вас старая поставка MySQL, которая не поддерживает ключ --force , то нужно просто удалить в редакторе проверку resolveip из mysql_install .
Запускать mysqld с помощью команды su вместо использования опции --user .
RPM и бинарные файлы MySQL для Linux на архитектуре Intel оптимизированы для достижения наибольшей возможной скорости работы. Мы всегда стараемся использовать компиляторы, которые дают наиболее быстрый и устойчивый код.
Поддержка Perl в MySQL требует Perl версии не ниже 5.004_03.
На некоторых Linux версии 2.2 при попытке создать большое количество новых соединений с сервером mysqld через TCP/IP вы можете получить сообщение об ошибке Resource temporarily unavailable (Ресурс временно недоступен).
Проблема заключается в задержке между закрытием сокета TCP/IP и реальным его освобождением системой в Linux. Поскольку существует ограниченное количество областей для поддержки TCP/IP, вы получите вышеназванную ошибку, если попытаетесь создать слишком много новых соединений TCP/IP на протяжении короткого отрезка времени (нечто подобное происходит при запуске теста на производительность MySQL "test-connect" поверх TCP/IP).
Об этой проблеме мы несколько раз сообщали в различные списки рассылки по Linux, однако удачного решения получить не удалось.
Единственное известное "решение" данной проблемы заключается в том, что ваши клиенты должны работать с постоянными соединениями или использовать сокеты (в случае, если клиентская и серверная части находятся на одной машине). Остается надеяться, что эта проблема будет решена в ядре Linux 2.4.
1 2 3 4 5
8 8 8
| |