Документация MySQL

31.12.2008

, поэтому при
компиляции MySQL следует задавать команду
export CC="xlc_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192 "
export CXX="xlC_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192"
export CFLAGS="-I /usr/local/include"
export LDLFAGS="-L /usr/local/lib"
export CPPFLAGS=$CFLAGS
export CXXFLAGS=$CFLAGS

./configure --prefix=/usr/local \
--localstatedir=/var/mysql \
--sysconfdir=/etc/mysql \
--sbindir='/usr/local/bin' \
--libexecdir='/usr/local/bin' \
--enable-thread-safe-client \
--enable-large-files
Здесь указаны опции, используемые для компиляции дистрибутива MySQL,
который находится по адресу
.
,
следует также удалить опцию
(это ограничение компилятора IBM C).
, потому что обработчик исключительных ситуаций в
не безопасен в реализации потоков! (Это проверено на
1.1.) Существуют
также некоторые известные проблемы с ассемблером IBM, которые могут
привести к генерации неудачного кода при использовании его с
.
2.95 на AIX мы рекомендуем следующую строку
конфигурирования:
CC="gcc -pipe -mcpu=power -Wa,-many" \
CXX="gcc -pipe -mcpu=power -Wa,-many" \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --with-low-memory
Для того чтобы компиляция была успешной, здесь необходимо указывать ключи
,
. В IBM известно о существовании данной проблемы, но ее
специалисты не торопятся исправлять ошибку, поскольку существует способ
обхода. Нам неизвестно, необходимо ли использование
2.95, но поскольку в MySQL нет обработчика исключительных ситуаций, а эта
опция способствует созданию более быстрого кода, мы рекомендуем всегда
использовать ее с
.
В случае возникновения проблем в программах на ассемблере необходимо
привести -mcpu=xxx в соответствие со своим процессором. Обычно достаточно
использовать power2, power или powerpc, но, возможно, необходимо будет
указать 604 или 604e. Хотя это и не приветствуется, но использование
"power" будет безопасным почти всегда, даже на power2-машинах.
Если вы не знаете, какой у вас процессор, следует запустить uname -m.
Данная команда возвращает строку наподобие "000514676700", формат которой
xxyyyyyymmss, где xx и ss всегда 0, yyyyyy - уникальный идентификатор
системы и mm - идентификатор процессора Planar. Карта этих значений
находится по адресу
.
В соответствии с данной картой можно узнать тип и модель машины, а уже по
ним -определить тип процессора.
Возникновение проблем с сигналами (MySQL неожиданно умирает при большой
нагрузке) может означать, что вы столкнулись с ошибкой операционной
системы в работе с потоками и сигналами. В этом случае можно запретить
MySQL использовать сигналы при помощи следующей строки конфигурации:
shell> CFLAGS=-DDONT_USE_THR_ALARM CXX=gcc \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti \
-DDONT_USE_THR_ALARM" \
./configure --prefix=/usr/local/mysql --with-debug --with-low-memory
Это не повлияет на производительность MySQL, но приведет к побочному
эффекту, состоящему в невозможности оборвать работу клиента со спящим
соединением при помощи команд
.
Вместо этого клиент завершит работу при попытке послать следующую команду.
libbind.a
приводит к тому, что
getservbyname вызывает аварийную остановку программы с сохранением образа
памяти на диск (core dump). Это ошибка AIX и о ней следует сообщить в IBM.
Для AIX 4.2.1 и gcc необходимо сделать следующие изменения:
'config.h'
'include/my_config.h'
, а также изменить строку, содержащую
'mysqld.cc'
.
#ifdef _AIX41
extern "C" int initgroups(const char *,int);
#endif

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.