Идите к первому, предыдущему, затем, последний(прошлый) раздел, оглавление.


4 Установка MySQL

Эта глава описывает, как получить и установить MySQL:

4.1 Как получить MySQL

Проверьте(отметьте) MySQL домашнюю страницу для информации относительно текущей версии и для загрузки команд.

Однако, подключение Internet в TcX - не столь быстро; мы предпочли бы, что Вы делаете фактическую загрузку от одного из зеркальных узлов, перечисленных ниже.

Пожалуйста сообщите о плохих или устаревших зеркалах к webmaster@mysql.com.

Европа:

Северная Америка:

Южная Америка:

Азия:

Австралия:

Африка:

4.2 Операционные системы, поддержанные MySQL

Мы используем GNU Autoconf, так что это возможно к порту MySQL к всем современным системам с работой Posix тематики и компилятор C++. (Чтобы компилировать только код клиента, компилятор C++ требуется, но не тематики.) Мы используем и разрабатываем программное обеспечение самостоятельно прежде всего на Солнце Solaris (версии 2.5 и 2.6) и к меньшей степени на RedHat Linux 5.0.

MySQL, как сообщали, компилировал sucessfully на следующих комбинациях пакетов / тематик операционных систем. Обратите внимание, что для многих операционных систем, родная тематика поддерживает работы только в самых последних версиях.

4.3 Который MySQL версия использовать

Первое решение делать состоит в том, хотите ли Вы использовать самый последний выпуск развития или последний(прошлый) устойчивый выпуск:

Второе решение делать состоит в том, хотите ли Вы использовать исходное распределение или двоичное распределение:

MySQL обозначение(перечисление) схемы использует числа(номера) выпуска которые состоят из трех чисел(номеров) и суффикса. Например, название(имя) выпуска подобно mysql-3.21.17-beta интерпретируется подобно этому:

Все версии MySQL выполнены через наши стандартные испытания и эталонные тесты, чтобы гарантировать, что они - относительно сейф, чтобы использовать. Так как стандартные испытания расширены(продлены) через какое-то время, чтобы проверить все предварительно найденные ошибки(дефекты), испытательный набор программ продолжает попадать лучше.

Обратите внимание, что все выпуски были проверены по крайней мере с:

Внутренний испытательный набор программ
Это - часть промышленной системы для заказчика. Это имеет много таблиц с сотнями мегабайтов данных.
MySQL эталонный набор программ
Это выполняет диапазон(дальность) общих(обычных) запросов. Это - также испытание, чтобы видеть, сделал ли самый последний пакет оптимизации фактически код быстрее. См. раздел 11.7 Использование ваших собственных эталонных тестов.
Испытание " потерпит крах меня "
Это пробует определять то, какие особенности база данных поддерживает и, каковы ее возможности и ограничения. См. раздел 11.7 Использование ваших собственных эталонных тестов.

Другое испытание - то, что мы используем самый новый MySQL версия в нашей внутренней промышленной среде, на по крайней мере одной машине. Мы имеем больше чем 100 гигабайтов данных, чтобы работать с.

4.4 Как и когда модификации выпущены

MySQL развивается весьма быстро здесь в TcX, и мы хотим совместно использовать это с другими MySQL пользователями. Мы пробуем делать выпуск, когда мы имеем очень полезные особенности, что другие, кажется, имеют потребность в.

Мы также пробуем помочь из пользователей, кто запрашивают особенности, которые являются простыми осуществить. Мы также принимаем во внимание то, что наши залицензированные пользователи хотят иметь, и мы особенно принимаем во внимание то, из чего наша расширенная(продленная) электронная почта поддержанные заказчики хотят и пробовать помочь им.

Никто не должен загрузить новый выпуск. Раздел Новостей сообщит Вам, если новый выпуск имеет кое-что, что Вы действительно хотите. См. раздел D MySQL перечень изменений.

Мы используем следующую политику(полис) при обновлении MySQL:

Текущий устойчивый выпуск - 3.22; Мы уже переместили активное развитие в 3.23. Ошибки(дефекты) будут все еще устанавливаться в устойчивой версии. Мы не верим на законченном замораживании, поскольку это также уезжает из ошибок и вещей, которые " " должны быть сделаны "." " Несколько закрепляемый " средства, что мы можем добавлять маленькие вещи, которые " " почти конечно не будут затрагивать что - нибудь, это уже работает ".

4.5 Инсталляционные размещения

Этот раздел описывает заданное по умолчанию размещение каталогов, созданных, устанавливая двоичные и исходные распределения.

Двоичное распределение установлено, распаковывая это в инсталляционном расположении, которое Вы выбираете (типично "/usr/local/mysql") и создает следующие каталоги в том расположении:

Каталог Содержание каталога
"Лоток" Программы Клиента и mysqld сервер
"Данные" Журналы, базы данных
"Включить" Включите файлы (заголовка)
"Lib" Библиотеки
" Сценарии Mysql_install_db
"Share/mysql" Файлы Сообщения об ошибках
"Sql-место для размещения элемента" Эталонные тесты

Исходное распределение установлено после того, как Вы конфигурируете и компилируете это. По умолчанию, инсталляционный шаг устанавливает файлы под "/usr/local", в следующих подкаталогах:

Каталог Содержание каталога
"Лоток" Программы Клиента и сценарии
"Include/mysql" Включите файлы (заголовка)
"Информация" Документация в формате Info
"Lib/mysql" Библиотеки
"Libexec" Mysqld сервер
"Share/mysql" Файлы Сообщения об ошибках
"Sql-место для размещения элемента" Эталонные тесты и испытание " потерпят крах меня "
"Переменная величина" Базы данных и журналы.

В пределах инсталляционного каталога, размещение исходной инсталляции отличается от такового двоичной инсталляции следующими способами:

4.6 Установка MySQL двоичного распределения

Вы нуждаетесь в следующих инструментальных средствах, чтобы установить MySQL двоичное распределение:

Альтернативный инсталляционный метод под Linux состоит в том, чтобы использовать ОБОРОТ В МИНУТУ (RedHat, упаковывают Администратора) распределения. См. раздел 4.6.1 Linux примечания ОБОРОТА В МИНУТУ.

Если Вы сталкиваетесь с проблемами, ПОЖАЛУЙСТА ВСЕГДА ИСПОЛЬЗУЕТЕ mysqlbug при регистрации вопросов к mysql@lists.mysql.com. Даже если проблема не ошибка(дефект), mysqlbug собирает системную информацию, которая поможет другим решить вашу проблему. Не используя mysqlbug, Вы уменьшаете вероятность получения решения вашей проблемы! Вы найдете mysqlbug в каталоге "лотка" после того, как Вы распаковываете распределение. См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы.

Основные команды Вы должны выполниться, чтобы устанавливать и использовать MySQL двоичное распределение:

 Оболочка > gunzip < mysql-VERSION-OS.tar.gz | tar xvf -оболочка > ln -s mysql-VERSION-OS mysqlshell > cd mysqlshell > scripts/mysql_install_dbshell > bin/safe_mysqld и

Вы можете добавлять новых пользователей, использующих сценарий bin/mysql_setpermission, если Вы устанавливаете DBI и Msql-Mysql-modules Perl модули.

Здесь следует за более детальным описанием:

Чтобы устанавливать двоичное распределение, следуйте за шагами ниже, затем перейдите к разделу 4.15 Пост-инсталляционная установка и испытание, для пост-инсталляционной установки и испытания:

  1. Выберите каталог, под которым Вы хотите распаковать распределение, и перемещение в это. В примере ниже, мы распаковываем распределение под "/usr/local" и создаем каталог "/usr/local/mysql, в который MySQL установлен. (Следующие команды поэтому предполагают, что Вы имеете разрешение создать файлы в "/usr/local". Если тот каталог защищен, Вы будете должны исполнить инсталляцию как корень.)
  2. Получите дистрибутивный файл от одного из узлов, перечисленных в разделе 4.1, как получить MySQL. MySQL двоичные распределения обеспечивается как сжатый архив tar и имеет названия(имена) подобно "mysql-VERSION-OS.tar.gz", где ВЕРСИЯ - номер (например, 3.21.15), и OS указывает тип операционной системы, для которой распределение предназначено (например, pc-linux-gnu-i586).
  3. Распакуйте распределение, и создайте инсталляционный каталог:
     Оболочка > gunzip < mysql-VERSION-OS.tar.gz | tar xvf -оболочка > ln -s mysql-VERSION-OS mysql
    Первая команда создает каталог, названный " mysql-VERSION-OS'. Вторая команда делает символическую связь(ссылку) к тому каталогу. Это позволяет Вам обращаться(относиться) более легко к инсталляционному каталогу как " /usr/local/mysql '.
  4. Изменение(замена) в инсталляционный каталог:
     Оболочка > cd mysql
    Вы найдете несколько файлов и подкаталоги в mysql каталоге. Наиболее важный для инсталляционных целей - "лоток" и " подкаталоги сценариев.
    "Лоток"
    Этот каталог содержит программы клиента и сервер, Вы должны добавить полное имя пути этого каталога к вашей переменной среды ПУТИ так, чтобы ваша оболочка нашла программы MySQL должным образом.
    " Сценарии
    Этот каталог содержит сценарий mysql_install_db, имел обыкновение инициализировать разрешения доступа сервера.
  5. Если Вы хотели бы использовать mysqlaccess и иметь MySQL распределение в некотором нестандартном месте, Вы должны изменить(заменить) расположение, где mysqlaccess ожидает находить mysql клиента. Редактируйте " сценарий bin/mysqlaccess' в приблизительно строке 18. Ищите строку, которая напоминает это:
     $MYSQL = '/usr/local/bin/mysql '; # Путь к mysql выполнимой программе
    Измените(замените) путь, чтобы отразить расположение, где mysql фактически сохранен на вашей системе. Если Вы не делаете этого, Вы получите сломанную(нарушенную) ошибку канала, когда Вы выполняете mysqlaccess.
  6. Создайте таблицы предоставления MySQL (необходимый только, если Вы не установили MySQL прежде):
     Оболочка > scripts/mysql_install_db
    Обратите внимание, что MySQL версии старшее чем 3.22.10 запустили MySQL сервер, когда Вы выполняете mysql_install_db. Это больше не истина!
  7. Если Вы хотите установить поддержку для Perl DBI/DBD интерфейс, см. раздел 4.10 комментария инсталляции Perl.
  8. Если Вы хотели бы, чтобы MySQL запустил автоматически, когда Вы загружаете вашу машину, Вы можете копировать поддержку - files/mysql.server к расположению, где ваша система имеет ее файлы запуска. Подробная информация может быть найдена в сценарие поддержки - files/mysql.server непосредственно, и в разделе 4.15.3 Стартом и остановкой MySQL автоматически.

После того, как все было распаковано и установлено, Вы должны инициализировать и проверять ваше распределение.

Вы можете запускать MySQL сервер со следующей команды:

 Оболочка > bin/safe_mysqld и

См. раздел 4.15 Пост-инсталляционная установка и испытание.

4.6.1 Linux примечания ОБОРОТА В МИНУТУ

Рекомендуемый способ устанавливать MySQL на Linux - используя файл ОБОРОТА В МИНУТУ. MySQL ОБОРОТЫ В МИНУТУ в настоящее время формируются на RedHat 5.2 системы, но должны работать на других версиях Linux, которые поддерживают оборот в минуту и используют glibc.

Если Вы имеете проблемы с файлом ОБОРОТА В МИНУТУ, например, которому жаль, главный компьютер 'xxxx' нельзя было бы искать, см. раздел 4.6.3.1 Linux примечания.

Файлы ОБОРОТА В МИНУТУ, которые Вы можете хотеть использовать:

Видеть все файлы в пакете ОБОРОТОВ В МИНУТУ:

 Оболочка > оборот в минуту -qpl MySQL-VERSION.i386.rpm

Чтобы исполнять стандартную минимальную инсталляцию, выполните эту команду:

 Оболочка > оборот в минуту -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm

Устанавливать только пакет клиентов:

 Оболочка > оборот в минуту -i MySQL-client-VERSION.i386.rpm

ОБОРОТ В МИНУТУ размещает данные в "/var/lib/mysql". ОБОРОТ В МИНУТУ также создает соответствующие входы в " /etc/rc.d / ', чтобы запустить сервер автоматически при начальной загрузке время. (Это означает, что, если Вы выполнили предыдущую инсталляцию, Вы можете хотеть делать копию ваш предварительно-установленной MySQL файлом запуска, если Вы сделали любые изменения(замены) к этому, так что Вы не теряете ваши изменения(замены).)

После установки файла (ов) ОБОРОТА В МИНУТУ, "mysqld" демон должен выполниться, и Вы должны теперь быть способны начать использовать MySQL. См. раздел 4.15 Пост-инсталляционная установка и испытание.

Если кое-что идет не так как надо, может находить подробную информацию в двоичной инсталляционной главе. См. раздел 4.6 Установка MySQL двоичного распределения.

4.6.2 Формирование программ клиента

Если Вы компилируете MySQL клиентуру, которую вы написали самостоятельно или что Вы получаете от третьего лица, они должны быть связаны, используя -lmysqlclient опцию на команде связи(ссылки). Вы могут также были должны определить -L опцию, чтобы сообщить компоновщику, где найти библиотеку. Например, если библиотека установлена в "/usr/local/mysql/lib", использование -L/usr/local/mysql/lib -lmysqlclient на команде связи(ссылки).

Для клиентуры, которая использует MySQL файлы заголовка, Вы могут были должны определить -I опцию, когда Вы компилируете их (например, -I/usr/local/mysql/include), так что компилятор может находить файлы заголовка.

4.6.3 Системно-специфические проблемы(выпуски)

Следующие разделы указывают некоторых из проблем(выпусков), которые наблюдал(соблюдал), чтобы произойти на специфических системах при установке MySQL от двоичного распределения.

4.6.3.1 Linux примечания

MySQL нуждается по крайней мере Linux 2.0.

Двоичный выпуск связан с -статическим, что означает, что Вы не обычно не должны волноваться, относительно которой версии системных библиотек Вы имеете. Вы не должны установить LinuxThreads, также. Программа, связанная с -статическим слегка большая чем динамически-связанная программа но также и слегка быстрее (3-5 %). Одна проблема однако состоит в том, что Вы не можете использовать определяемые пользователем функции (UDFs) со статически-связанной программой. Если Вы собираетесь записывать или использовать функции UDF (это - кое-что только для C, или программисты C++) Вы должны компилировать MySQL самостоятельно, используя динамическую связь.

Если Вы используете libc-основанную систему (вместо glibc2 системы), Вы вероятно получите некоторые проблемы с решением имени хоста и getpwnam () с двоичным выпуском. (Это - то, потому что glibc к сожалению зависит от некоторых внешних библиотек, чтобы решить имена хоста и getwpent (), даже когда откомпилировано с -статическим). В этом случае(регистре) Вы вероятно получаете следующее сообщение об ошибках, когда Вы выполняете mysql_install_db:

 Жаль, главный компьютер 'xxxx' нельзя было бы искать

Или следующая ошибка, когда Вы пробуете выполнить mysqld с - опция пользователя:

 Getpwnam: Никакой такой файл или каталог

Вы можете решить эту проблему один из следующих путей:

Linux-Intel двоичный и выпуски ОБОРОТА В МИНУТУ MySQL конфигурированы для самого высокого возможного быстродействия. Мы всегда пробуем использовать самый быстрый устойчивый доступный компилятор.

MySQL Perl поддержка требует Perl 5.004_03 или более новый.

4.6.3.2 HP-UX примечания

Некоторые из двоичных распределений MySQL для HP-UX распределены как файл склада HEWLETT-PACKARD и как файл tar. Чтобы использовать базовый файл, Вы должны выполниться по крайней мере HP-UX 10.x, чтобы иметь доступ к программным базовым инструментальным средствам Hewlett-Packard.

Версия HEWLETT-PACKARD MySQL была откомпилирована на HEWLETT-PACKARD 9000/8xx сервер под HP-UX 10.20, и использует MIT-PTHREADS. Известно работать хорошо под этой конфигурацией. MySQL 3.22.26 и более новый может также быть сформирован с родным пакетом тематик Hewlett-Packard.

Другие конфигурации, которые могут работать:

Следующие конфигурации почти определенно не будут работать:

Чтобы устанавливать распределение, используйте одну из команд ниже, где /path/to/depot - полное имя пути склада file:

Базовые места binaries и библиотеки в "/opt/mysql" и данных в "/var/opt/mysql". Склад также создает соответствующие входы в "/sbin/init.d" и "/sbin/rc2.d", чтобы запустить сервер автоматически при начальной загрузке время. Очевидно, это влечет за собой являющийся корневым, чтобы установить.

Чтобы устанавливать HP-UX распределение tar, Вы должны иметь копию GNU tar.

4.7 Установка MySQL исходного распределения

Вы нуждаетесь в следующих инструментальных средствах, чтобы формировать и установить MySQL из источника:

Если Вы сталкиваетесь с проблемами, ПОЖАЛУЙСТА ВСЕГДА ИСПОЛЬЗУЕТЕ mysqlbug при регистрации вопросов к mysql@lists.mysql.com. Даже если проблема не ошибка(дефект), mysqlbug собирает системную информацию, которая поможет другим решить вашу проблему. Не используя mysqlbug, Вы уменьшаете вероятность получения решения вашей проблемы! Вы найдете mysqlbug в " каталог сценариев после того, как Вы распаковываете распределение. См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы.

4.7.1 Быстрый инсталляционный краткий обзор

Основные команды Вы должны выполниться, чтобы установить MySQL исходное распределение - (от распакованного файла tar):

 Оболочка > configureshell > makeshell > делает installshell > scripts/mysql_install_dbshell > /usr/local/mysql/bin/safe_mysqld и

Если Вы запускаете с исходного ОБОРОТА В МИНУТУ, то делайте следующий.

 Оболочка > оборот в минуту - восстанавливает MySQL-VERSION.src.rpm

Это будет делать двоичный ОБОРОТ В МИНУТУ, который Вы можете устанавливать.

Вы можете добавлять новых пользователей, использующих сценарий bin/mysql_setpermission, если Вы устанавливаете DBI и Msql-Mysql-modules Perl модули.

Здесь следует за более детальным описанием:

Чтобы устанавливать исходное распределение, следуйте за шагами ниже, затем перейдите к разделу 4.15 Пост-инсталляционная установка и испытание, для пост-инсталляционной инициализации и испытания.

  1. Выберите каталог, под которым Вы хотите распаковать распределение, и перемещение в это.
  2. Получите дистрибутивный файл от одного из узлов, перечисленных в разделе 4.1, как получить MySQL. MySQL исходные распределения обеспечивается как сжатый архив tar и имеет названия(имена) подобно "mysql-VERSION.tar.gz", где ВЕРСИЯ - номер подобно 3.23.12c-alpha.
  3. Распакуйте распределение в текущий каталог:
     Оболочка > gunzip < mysql-VERSION.tar.gz | tar xvf -
    Эта команда создает каталог названный "mysql-версией".
  4. Изменение(замена) в каталог верхнего уровня распакованного распределения:
     Оболочка > cd mysql-версия
  5. Конфигурируйте выпуск, и компилируйте все:
     Оболочка > ./configure - префикс =/usr/local/mysqlshell > делает
    Когда Вы выполняете выбор конфигурации, Вы могли бы хотеть определить некоторые параметры. Выполнитесь ./configure - помогают для списка параметров. Раздел 4.7.3 Типичные параметры выбора конфигурации, обсуждает некоторых из более полезных параметров. Если сбои выбора конфигурации, и Вы собираетесь посылать почте строкам от "config.log", что Вы думаете, может помогать решать проблему. Также включите последнюю(прошлую) пару строк вывода от выбора конфигурации, если выбор конфигурации прерывается. Перенесите сообщение ошибки(дефекта), используя сценарий mysqlbug. См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы. Если компилирующиеся сбои, см. раздел 4.8 Проблемы при компилировании?, для справки ряда общих(обычных) проблем.
  6. Установка все:
     Оболочка > делает установку
    Вы могли бы были бы должны выполнить эту команду как корень.
  7. Создайте таблицы предоставления MySQL (необходимый только, если Вы не установили MySQL прежде):
     Оболочка > scripts/mysql_install_db
    Обратите внимание, что MySQL версии старшее чем 3.22.10 запустили MySQL сервер, когда Вы выполняете mysql_install_db. Это больше не истина!
  8. Если Вы хотите установить поддержку для Perl DBI/DBD интерфейс, см. раздел 4.10 комментария инсталляции Perl.
  9. Если Вы хотели бы, чтобы MySQL запустил автоматически, когда Вы загружаете вашу машину, Вы можете копировать поддержку - files/mysql.server к расположению, где ваша система имеет ее файлы запуска. Подробная информация может быть найдена в сценарие поддержки - files/mysql.server непосредственно, и в разделе 4.15.3 Стартом и остановкой MySQL автоматически.

После того, как все было установлено, Вы должны инициализировать и проверять ваше распределение.

Вы можете запускать MySQL сервер со следующей команды, где BINDIR - каталог, в который safe_mysqld установлен ("/usr/local/bin" по умолчанию):

 Оболочка > BINDIR/safe_mysqld и

Если та команда терпит неудачу немедленно с mysqld daemon законченный, тогда Вы можете находить некоторую информацию в файле " mysql-data-directory /'hostname '.err '. Вероятная причина - то, что Вы уже имеете другое mysqld выполнение сервера. См. раздел 20.3, выполняющий множитель MySQL серверы на той же самой машине.

См. раздел 4.15 Пост-инсталляционная установка и испытание.

4.7.2 Заплаты Применения(обращения)

Иногда заплаты появляются на списке адресатов или помещены в область заплат MySQL узла ПРОТОКОЛА ПЕРЕДАЧИ ФАЙЛОВ.

Чтобы применять заплату от списка адресатов, сохраните сообщение, в котором заплата появляется в файле, изменение(замена) в каталог верхнего уровня вашего MySQL исходного дерева и выполнять эти команды:

 Оболочка > исправляет -p1 < patch-file-nameshell > rm config.cacheshell >, делают чистым

Заплаты от узла ПРОТОКОЛА ПЕРЕДАЧИ ФАЙЛОВ распределены как файлы открытого текста или как файлы, сжатые с gzip файлами. Примените простую заплату как показано выше для заплат списка адресатов. Чтобы применять сжатую заплату, изменитесь в каталог верхнего уровня вашего MySQL исходного дерева, и выполните эти команды:

 Оболочка > gunzip < patch-file-name.gz | исправляет -p1shell > rm config.cacheshell >, делают чистым

После применения(обращения) заплаты, следуйте за командами для нормальной исходной установки, начало с шага ./configure. После выполнения делающегося шага установки, перезапустите ваш MySQL сервер.

Вы могут были должны сбить любой выполняющийся в настоящее время сервер прежде, чем Вы выполняетесь, делают установку. (Используйте mysqladmin завершение, чтобы делать это.) Некоторые системы не позволяют Вам устанавливать новую версию программы, если это заменяет версию, которая в настоящее время выполняется.

4.7.3 Типичные параметры выбора конфигурации

Сценарий выбора конфигурации дает Вам много контроля над, как Вы конфигурируете ваше MySQL распределение. Типично Вы делаете эти параметры использования на командной строке выбора конфигурации. Вы можете также затрагивать выбор конфигурации, используя некоторые переменные среды. Для списка параметров, поддержанных выбором конфигурации, выполните эту команду:

 Оболочка > ./configure - справка

Некоторые из более обычно-используемых параметров выбора конфигурации описаны ниже:

4.8 Проблемы при компилировании?

Все программы MySQL компилируют чисто для нас без предупреждений на Solaris использование gcc. На других системах, предупреждения могут происходить из-за различий в системных файлах для включения. См. раздел 4.9 MIT-pthreads примечания, для предупреждений, которые могут происходить при использовании MIT-pthreads. Для других проблем, проверьте(отметьте) список ниже.

Решение многих проблем включает реконфигурировать. Если Вы должны реконфигурировать, принять во внимание следующее:

Чтобы предотвращать старую информацию конфигурации или объектные файлы от использования, выполните эти команды перед повторным запуском выбора конфигурации:

 Оболочка > rm config.cacheshell > делает чистым

Альтернативно, Вы можете выполняться, делают distclean.

Список ниже описывает некоторых из проблем при компилировании MySQL, которые были найдены, чтобы произойти наиболее часто:

4.9 MIT-pthreads примечания

Этот раздел описывает некоторых из проблем(выпусков), включенных в использование MIT-pthreads.

Обратите внимание, что на Linux Вы не должны использовать MIT-PTHREADS, но устанавливать LinuxThreads! См. раздел 4.11.5 Linux примечания (все Linux версии).

Если ваша система не обеспечивает родную поддержку тематики, Вы будете должны формировать MySQL использование пакета MIT-PTHREADS. Это включает большинство FreeBSD системы, SunOS 4.x, Solaris 2.4 и ранее, и некоторые другие. См. раздел 4.2 Операционных системы, поддержанные MySQL.

4.10 Perl инсталляционные комментарии

4.10.1 Установка Perl на Unix

Perl поддержка для MySQL обеспечивается посредством DBI/DBD интерфейса клиента. См. раздел 21.5 MySQL Perl API. Perl DBD/DBI код клиента требует Perl 5.004 или позже. Интерфейс не будет работать, если Вы имеете старшую версию Perl.

MySQL Perl поддержка также требует, чтобы вы установили MySQL программное обеспечение клиента. Если Вы установили MySQL от файлов ОБОРОТА В МИНУТУ, программы клиента находятся в клиенте, ОБОРОТ В МИНУТУ, но программное обеспечение клиента находится в разработчике ОБОРОТ В МИНУТУ. Удостоверитесь, что вы установили последний ОБОРОТ В МИНУТУ.

От выпуска 3.22.8, Perl поддержка распределен отдельно от главного MySQL распределение. Если Вы хотите установить поддержку Perl, файлы Вы будете нуждаться, может быть получен от http://www.mysql.com/Contrib.

Perl распределения обеспечиваются как сжатый архив tar и имеют названия(имена) подобно "МОДУЛЮ - VERSION.TAR.GZ", где МОДУЛЬ - модульное название(имя), и ВЕРСИЯ - номер версии. Вы должны получить Данные - Dumper, DBI, и Msql-Mysql-modules распределения и устанавливать их в тот порядок. Инсталляционная процедура показывается ниже. Показанный пример - для модуля Данных - Dumper, но процедура - тот же самый для всех трех распределений.

  1. Распакуйте распределение в текущий каталог:
     Оболочка > gunzip < Свалка | tar xvf -
    Эта команда создает каталог по имени Свалка.
  2. Изменение(замена) в каталог верхнего уровня распакованного распределения:
     Оболочка > cd Свалка
  3. Формируйте распределение, и компилируйте все:
     Оболочка > perl Формирование файла. PLshell > makeshell > делают testshell >, делают установку

Делающаяся испытательная команда важна, потому что это подтверждает(проверяет), что модуль работает. Обратите внимание, что, когда Вы выполняете ту команду в течение инсталляции Msql-Mysql-modules, чтобы осуществить код интерфейса, MySQL сервер должен выполниться, или испытание будет терпеть неудачу.

Это - хорошая идея восстанавливать и повторно установить Msql-Mysql-modules распределение всякий раз, когда Вы устанавливаете новый выпуск MySQL, особенно, если Вы обращаете внимание на признаки типа всех ваших сценариев DBI, формирующих дамп ядра после того, как Вы модернизируете MySQL.

Если Вы не имеете право установить Perl модули в системный каталог или если Вы, чтобы установить локальные Perl модули, следующая ссылка(справочники) можете помогать Вам:

  http://www.iserver.com/support/contrib/perl5/modules.html 

Просмотр при заголовке, устанавливающем Новые Модули, которые Требуют В местном масштабе Установленных Модулей.

4.10.2 Установка ActiveState Perl на Win32

Чтобы устанавливать MySQL DBD модуль с ActiveState Perl на Win32, Вы должны делать следующее:

Если Вы не можете становиться вышеупомянутыми работать, Вы должны вместо этого установить MyODBC драйвер и соединяться с MySQL сервером через ODBC.

 Использование DBI; $dbh = DBI->connect("DBI:ODBC:$dsn","$user","$password ") || умирают " Получил ошибку $DBI:: errstr при соединении с $dsn\n ";

4.10.3 Установка MySQL Perl распределение на Win32

MySQL Perl распределение содержит DBI, DBD:MySQL и DBD:ODBC.

4.10.4 Проблемы при использовании Perl DBI/DBD интерфейс

Если Perl сообщает, что это не может находить ../mysql/mysql.so модуль, то проблема - вероятно, что Perl не может располагать общедоступную библиотеку "libmysqlclient.so".

Вы можете устанавливать это любым из следующих методов:

Если Вы получаете следующие ошибки от DBD-MYSQL, Вы вероятно используете gcc (или используете старый двоичный откомпилированный с gcc):

 /usr/bin/perl: не может решать символ ' __ moddi3 '/usr/bin/perl: не может решать символ ' __ divdi3 '

Добавьте -L/usr/lib/gcc-lib/ ... -lgcc к команде связи(ссылки), когда "mysql.so" библиотека формируется (проверьте(отметьте) вывод от, делают для "mysql.so", когда Вы компилируете Perl клиента). -L опция должна определить имя пути каталога, где "libgcc.a" расположен на вашей системе.

Другая причина этой проблемы может быть то, что Perl и MySQL не оба откомпилированы с gcc. В этом случае(регистре), Вы можете решить несоответствие, компилируя оба с gcc.

Если Вы хотите использовать Perl модуль на системе, которая не поддерживает динамическую связь (подобно SCO) Вы можете генерировать статическую версию Perl, который включает DBI и DBD-MYSQL. Путем это работает - то, что Вы генерируете версию Perl с кодом DBI, связанным в и устанавливаете это на вершине вашего тока(потока) Perl. Тогда Вы используете это, чтобы формировать версию из Perl, который дополнительно связывает код DBD в, и устанавливать это.

На SCO, Вы должны установить следующие переменные среды:

 Оболочка > LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/liborshell > LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/libshell > LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/libshell > MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:/usr/skunk/man: 

Сначала, создайте Perl, который включает статически-связанный DBI, выполняясь эти команды в каталоге, где ваше DBI распределение расположено:

 Оболочка > perl Формирование файла. PL -статический -configshell > makeshell > делают installshell >, делают perl

Тогда Вы должны установить новый Perl. Вывод делает perl, укажет точный, делают команду, которую Вы будете должны выполниться, чтобы исполнить инсталляцию. На SCO, это - делают -f Makefile.aperl inst_perl MAP_TARGET=perl.

Затем, используйте только-созданный Perl, чтобы создать другой Perl, который также включает статически-связанный DBD:: mysql, выполняясь эти команды в каталоге, где ваше Msql-Mysql-modules распределение расположено:

 Оболочка > perl Формирование файла. PL -статический -configshell > makeshell > делают installshell >, делают perl

Наконец, Вы должны установить этот новый Perl. Снова, вывод делает perl, указывает команду, чтобы использовать.

4.11 Системно-специфические проблемы(выпуски)

Следующие разделы указывают некоторых из проблем(выпусков), которые наблюдал(соблюдал), чтобы произойти на специфических системах при установке MySQL от исходного распределения.

4.11.1 Solaris примечания

На Solaris, Вы можете сталкиваться с неприятностью даже прежде, чем Вы распаковываете MySQL распределение! Solaris tar не может обрабатывать длинные имена файлов, так что Вы можете видеть ошибку подобно этому, когда Вы распаковываете MySQL:

 X mysql-3.22.12-beta/bench/Results/ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase, 0 байтов, 0 ленты blockstar: ошибка контрольной суммы каталога

В этом случае(регистре), Вы должны использовать GNU tar (gtar), чтобы распаковать распределение. Вы можете находить копию precompiled для Solaris в http://www.mysql.com/Downloads/.

Тематики аборигена Солнца работают только на Solaris 2.5 и выше. Для 2.4 и более ранних версий, MySQL будет автоматически использовать MIT-PTHREADS. См. раздел 4.9 MIT-pthreads примечания.

Если Вы получаете следующую ошибку от выбора конфигурации:

 Проверка прерываемых системных вызовов ... выбор конфигурации: ошибка не может выполнять тест-программы в то время как перекрестное компилирование

Это означает, что Вы имеете кое-что неправильно с вашей инсталляцией компилятора! В этом случае(регистре) Вы должны модернизировать ваш компилятор к более новой версии. Вы можете также быть способны решить эту проблему, вставляя следующую строку в config.cache file:

  ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'} 

Если Вы используете Solaris на SPARC, рекомендуемый компилятор - egcs, 1.1.2 или более новый. Вы можете находить это в http://egcs.cygnus.com/. Обратите внимание, что egs, 1.1.1 и gcc 2.8.1 не работают надежно на SPARC!

Рекомендуемая строка выбора конфигурации при использовании egcs 1.1.2:

 Оболочка > CC=gcc CFLAGS = "-O6 " \ CXX=gcc CXXFLAGS = "-O6 -felide-constructors -fno-exceptions -fno-rtti " \ ./configure - префикс =/usr/local/mysql - " с низкой памятью "

Если Вы имеете Мастерскую Солнца 4.2 компилятор, Вы можете выполнять выбор конфигурации подобно этому:

CC=cc CFLAGS = "-xstrconst -Xa -xO4 -родной -mt " CXX=CC CXXFLAGS = "-xO4 -родной -noex -mt " ./configure - префикс =/usr/local/mysql

 Оболочка > CC=cc CFLAGS = "-Xa быстро -xO4 -родной -xstrconst -mt " \ CXX=CC CXXFLAGS = "-noex -XO4 -mt " \ ./configure

Вам, вероятно, также придется редактировать сценарий выбора конфигурации, чтобы изменить(заменить) эту строку:

  #if! Определенный (__ STDC __) || __ STDC __! = 1

К этому:

  #if! Определенный (__ STDC __)

Если Вы включаете __ STDC __ с -Xc опцией, компилятор Солнца не может компилировать с Solaris "pthread.h" файл заголовка. Это - ошибка(дефект) Солнца (сломанный(нарушенный) компилятор или сломанный(нарушенный) файл для включения).

Если mysqld выпускает сообщение об ошибках, показанное ниже того, когда Вы выполняете это, Вы пробовали компилировать MySQL с компилятором Солнца без того, чтобы допустить опцию процесса с параллельными потоками команд (-mt):

 Libc внутренняя ошибка: _rmutex_unlock: rmutex не проведенный(поддержанный)

Добавьте -mt к CFLAGS и CXXFLAGS, и попытайтесь снова.

Если Вы получаете следующую ошибку при компилировании MySQL с gcc, это означает, что ваш gcc не конфигурирован для вашей версии Solaris!

 Оболочка > gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ..../thr_alarm.c: функция In " signal_hand ':./thr_alarm.c:556: слишком много параметров, чтобы функционировать " sigwait '

Правильный поступок в этом случае(регистре) состоит в том, чтобы получить самую новую версию egcs и компилировать это с вашим током(потоком) gcc компилятор! По крайней мере для Solaris 2.5, почти все двоичные версии gcc имеют старые, непригодные файлы для включения, которые будут ломать(нарушать) все программы, которые используют тематики (и возможно другие программы)!

Solaris не обеспечивает статические версии всех системных библиотек (libpthreads и libdl), так что Вы не можете компилировать MySQL с - статический. Если Вы пробуете делать так, Вы получите ошибку:

 Ld: фатальный: библиотека -ldl: не найденный

Если слишком много процессов пробуют соединиться очень быстро с mysqld, Вы будете видеть эту ошибку в файле регистрации MySQL:

 Ошибка во вводе: ошибка Протокола

Вы могли бы пробовать запустить сервер с - переменная набора back_log=50 опция как работа для этого.

Если Вы связываете вашего собственного MySQL клиента, Вы могли бы получить следующую ошибку, когда Вы пробуете выполнить это:

 Ld.so.1: ./my: фатальный: libmysqlclient.so.#: открытый неудавшийся: Никакой такой файл или каталог

Проблемы можно избегать одним из следующих методов:

При использовании - with-libwrap конфигурируют опцию, Вы должны также включить библиотеки, в которых libwrap.a нуждается:

 - with-libwrap="/opt/NUtcpwrapper-7.6/lib/libwrap.a -lnsl -lsocket

4.11.2 Solaris 2.7 примечания

Вы можете обычно использовать Solaris 2.6 двоичный на Solaris 2.7. Большинство Solaris 2.6 проблемы(выпуска) также просит Solaris 2.7.

Обратите внимание, что MySQL 3.23.4 и выше должен быть способен автоматически обнаружить Solaris 2.7 и допускать работам для следующих проблем!

Solaris 2.7 имеет некоторые ошибки(дефекты) в файлах для включения. Вы можете видеть следующую ошибку, когда Вы используете gcc:

 /usr/include/widec.h:42: предупреждение: "getwc" redefined/usr/include/wchar.h:326: предупреждение: это - расположение previousdefinition

Если это происходит, Вы можете делать следующий, чтобы установить проблему:

Копируйте /usr/include/widec.h к .../lib/gcc-lib/os/gcc-version/include, и изменение(замена) выравнивает 41 от:

  #if! Определенным (lint) &&! defined(__lint)to#if! Определенным (lint) &&! Определенный (__ lint) &&! Определенным (getwc)

Альтернативно, Вы можете редактировать "/usr/include/widec.h" непосредственно. Любой путь, после того, как Вы делаете местоположение, Вы должен удалить "config.cache" и выполнять выбор конфигурации снова!

Если Вы получаете ошибки подобно этому, когда Вы выполняетесь, делают, то, потому что выбор конфигурации не обнаруживал "curses.h" файл (вероятно из-за ошибки в /usr/include/widec.h:

 В файле, включенном от mysql.cc:50:/usr/include/term.h:1060: синтаксическая ошибка прежде ", '/usr/include/term.h:1081: синтаксическая ошибка прежде "; '

Решение этого состоит в том, чтобы делать один из следующих шагов:

4.11.3 Solaris x86 примечания

Если Вы используете gcc или egcs на Solaris x86, и Вы испытываете проблемы с основными дампами при загрузке, Вы должны использовать следующую команду выбора конфигурации:

 Оболочка > CC=gcc CFLAGS = "-O6 -fomit-frame-pointer " \ CXX=gcc \ CXXFLAGS = "-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti " \ ./configure - префикс =/usr/local/mysql

Это избежит проблем с libstdc ++ библиотека и с исключениями C++.

Если это не помогает, Вы должны компилировать отладочную версию и выполнять это с файлом следа или под gdb. См. раздел G.1 Отладка MySQL сервера.

4.11.4 SunOS 4 примечания

На SunOS 4, MIT-pthreads необходим, чтобы компилировать MySQL, который в свою очередь означает, что Вы будете нуждаться В GNU, делают.

Некоторый SunOS 4 системы имеют проблемы с динамическими библиотеками и libtool. Вы можете использовать следующую строку выбора конфигурации, чтобы избежать этой проблемы:

 Оболочка > ./configure - отключать - общедоступный - with-mysqld-ldflags =-all-static

При компилировании readline, Вы можете добраться, предупреждения относительно дубликата определяют. Они могут игнорироваться.

При компилировании mysqld, будет иметься некоторое неявное объявление функциональных предупреждений. Они могут игнорироваться.

4.11.5 Linux примечания (все Linux версии)

MySQL использует LinuxThreads на Linux. Если Вы используете старую Linux версию, которая не имеет glibc2, Вы должны установить LinuxThreads перед попыткой компилировать MySQL. http://www.mysql.com/Downloads/Linux

Обратите внимание, что glibc версии прежде и включая 2.1.1 имеют фатальную ошибку(дефект) в обработке pthread_mutex_timedwait, которая используется, когда Вы ВСТАВЛЯЕТЕ ОТСРОЧЕННЫЙ. Если Вы используете ОТСРОЧЕННУЮ ВСТАВКУ, Вы ДОЛЖНЫ добавить следующую заплату к вашей glibc библиотеке: http://www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch. MySQL 3.23.7 содержит временную работу для этой ошибки(дефекта).

Если Вы не можете запускать mysqld или если mysql_install_db не работает, пожалуйста продолжите читать! Этот единственный случается на Linux системе с проблемами в LinuxThreads или libc/glibc библиотеках. Имеются много простых работ, чтобы заставить MySQL работать! Само простой, чтобы использовать двоичную версию MySQL (не ОБОРОТ В МИНУТУ) для Linux x86. Один хороший аспект этой версии - то, что это является вероятно 10 % быстрее чем любая версия, Вы компилировали бы себя! См. раздел 11.2.1, как компилирование и соединение воздействуют на быстродействие MySQL.

Одна известная проблема с двоичным распределением состоит в том, что со старшими Linux системами, которые используют libc (подобно RedHat 4.x или Slackware), Вы доберетесь, некоторые неокончательные проблемы с разрешающей способностью имени хоста Видят раздел 4.6.3.1 Linux примечания.

Myisamchk зависает с libc.so.5.3.12. Обновление к самому новому libc устанавливает эту проблему.

Когда использование LinuxThreads Вы будет видеть минимум трех выполнения процессов. Они - фактически тематики. Будет иметься одна тематика для LinuxThreads администратора, одна тематика, чтобы обработать подключения, и одну тематику, чтобы обработать систему индикации аварии и сигналы.

Если Вы видите мертвый mysqld daemon процесс с ps, это обычно означает, что Вы нашли ошибку(дефект) в MySQL, или Вы имеете разрушенную таблицу. См. раздел 19.1, что делать, если MySQL продолжает терпеть крах.

Если Вы используете LinuxThreads, и mysqladmin завершение не работает, Вы должны модернизировать к LinuxThreads 0.7.1 или более новый.

Если Вы используете RedHat, Вы могли бы получить ошибки подобно этому:

 /usr/bin/perl Необходим, чтобы .../usr/sh был необходим, чтобы .../usr/sh был необходим ...

Если так, Вы модернизировали вашу версию оборота в минуту к "rpm-2.4.11-1.i386.rpm" и "rpm-devel-2.4.11-1.i386.rpm" (или позже).

Вы можете получить обновления библиотек к RedHat 4.2 от ftp://ftp.redhat.com/updates/4.2/i386. Или http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/ для других распределений.

Если Вы связываете вашего собственного MySQL клиента и получаете ошибку:

 Ld.so.1: ./my: фатальный: libmysqlclient.so.4: открытый неудавшийся: Никакой такой файл или каталог

При выполнении их, проблемы можно избегать одним из следующих методов:

Если Вы используете Fujitsu компилятор (fcc / FCC) Вы будете иметь некоторые проблемы при компилировании MySQL, потому что Linux файлы заголовка очень gcc ориентированы.

Следующая строка выбора конфигурации должна работать с fcc/FCC:

 CC=fcc CFLAGS = "-O -K быстро -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const -DNO_STRTOLL_PROTO " CXX=FCC CXXFLAGS = "-O -K быстро -K lib -K omitfp -K preex - no_exceptions - no_rtti -D_GNU_SOURCE -DCONST=const -Dalloca = __ builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __ встроенный ' " ./configure - префикс =/usr/local/mysql - допу - ассемблер - with-mysqld-ldflags =-all-static - отключать - общедоступный - " с низкой памятью "

4.11.5.1 Linux-x86 примечания

MySQL требует libc версии 5.4.12 или более новый. Известно работать с libc 5.4.46. Glibc версия 2.0.6 и позже должен также работать. Имелись некоторые проблемы с glibc ОБОРОТАМИ В МИНУТУ от RedHat так, если Вы имеете проблемы, проверьте(отметьте), действительно ли имеются любые модификации! Glibc 2.0.7-19 и 2.0.7-29 ОБОРОТА В МИНУТУ, как известно, работают.

На несколько старших Linux распределениях, выбор конфигурации может производить ошибку подобно этому:

 Синтаксическая ошибка в sched.h. Измените(замените) _P к __ P в /usr/include/sched.h файле. См. Инсталляционную главу в Справочном описании.

Только делайте то, что сообщение об ошибках говорит и добавлять дополнительный символ подчеркивания к _P макрокоманде, которая имеет только один символ подчеркивания, затем попытаться снова.

Вы можете получить некоторые предупреждения при компилировании; показанный ниже могут игнорироваться:

 Mysqld.cc -o objs-thread/mysqld.omysqld.cc: функция In " пусто init_signals () ':mysqld.cc:315: предупреждение: назначение отрицательного значения " -1 "к" длинному int'mysqld.cc без знака: функция In " пусто * signal_hand (пусто *) ':mysqld.cc:346: предупреждение: назначение отрицательного значения " -1 "к" длинному int без знака '

В Debian GNU/Linux, если Вы хотите, чтобы MySQL запустил автоматически когда система(системный) начальные загрузки, делают следующее:

 Оболочка > cp поддержка - files/mysql.server /etc/init.d/mysql.servershell > /usr/sbin/update-rc.d mysql.server значения по умолчанию 99

Mysql.server может быть найден в "share/mysql" каталоге под каталогом инсталляции MySQL, или в " каталог поддержки - files' MySQL исходного дерева.

Если mysqld всегда основные дампы, когда это начинается, проблема, может быть то, что Вы имеете старый "/lib/libc.a". Пробуйте переименовать это, затем удалять "sql/mysqld" и делать новый, делают установку и попытаются снова. Эта проблема была сообщена относительно некоторых Slackware инсталляций. RedHat 5.0 имеет также подобную проблему с некоторыми новыми glibc версиями. См. раздел 4.11.5.2 RedHat 5.0 примечаний.

Если Вы получаете следующую ошибку при соединении mysqld, это означает, что ваш " libg ++.a ' не установлен правильно:

 /usr/lib/libc.a (Putc.o): функция In " _IO_putc ':putc.o (.text+0x0): повторное определение " _IO_putc '

Вы можете избегать использовать " libg ++.a ', выполняя выбор конфигурации подобно этому:

 Оболочка > CXX=gcc ./configure

4.11.5.2 RedHat 5.0 примечаний

Если Вы имеете любые проблемы с MySQL на RedHat, Вы должны запустить, модернизируя glibc к самой новой возможной версии!

Если Вы устанавливаете все заплаты должностного лица РедХата (включая glibc-2.0.7-19 и glibc-devel-2.0.7-19), и двоичные и исходные распределения MySQL должны работать без любой неприятности!

Модификации необходимы с тех пор имеется ошибка(дефект) в glibc 2.0.5 в том, как pthread_key_create переменные освобождены. С glibc 2.0.5, Вы должны использовать статически-связанный MySQL двоичное распределение. Если Вы хотите компилировать из источника, Вы должны установить исправленную версию LinuxThreads от http://www.mysql.com/Downloads/Linux или модернизировать ваш glibc.

Если Вы имеете неправильную версию glibc или LinuxThreads, признак - то, что сбои mysqld после каждого подключения. Например, mysqladmin версия разрушится mysqld, когда это заканчивается!

Другой признак неправильных библиотек - то, что mysqld терпит крах сразу, когда это начинается. На некоторых Linux системах, это может быть установлено, конфигурируя подобно этому:

 Оболочка > ./configure - with-mysqld-ldflags =-all-static

На Redhat 5.0, простой выход должен установить glibc 2.0.7-19 ОБОРОТ В МИНУТУ и выполнять выбор конфигурации без - with-mysqld-ldflags =-all-static опция.

Для исходного распределения glibc 2.0.7, заплата, которая является простой применять и проверенной с MySQL, может быть найдена в:

  http://www.mysql.com/Download/Linux/glibc-2.0.7-total-patch.tar.gz 

Если Вы испытываете сбои подобно ним, когда Вы формируете MySQL, Вы можете всегда загружать самую новую двоичную версию MySQL. Это статически-связано, чтобы избежать библиотечных конфликтов и должно работать на всех Linux системах!

MySQL идет с внутренним отладчиком, который может генерировать файлы следа с большим количеством информации, которая может использоваться, чтобы находить и решить широкий диапазон(дальность) различных проблем. См. раздел G.1 Отладка MySQL сервера.

4.11.5.3 RedHat 5.1 примечаний

Glibc RedHat 5.1 (glibc 2.0.7-13) имеет утечку памяти, так получить устойчивую MySQL версию, Вы должны модернизировать glibc к 2.0.7-19, понижать glibc или использовать двоичную версию mysqld. Если Вы не делаете это, Вы столкнетесь с проблемами памяти (за пределами памяти, и т.д., и т.д.). Наиболее общая(обычная) ошибка в этом случае(регистре):

 Не может создавать новую тематику (errno 11). Если Вы не вне availablememory, Вы можете консультироваться с руководством для любой возможной OS зависимой ошибки(дефекта)

После того, как Вы модернизировали к glibc 2.0.7-19, Вы можете конфигурировать MySQL с динамической связью (значение по умолчанию), но Вы не можете выполнять выбор конфигурации с - with-mysqld-ldflags =-all-static опция, пока Вы не установили glibc 2.0.7-19 из источника!

Вы можете проверять(отмечать), которую версию glibc Вы имеете с оборотом в минуту -q glibc.

4.11.5.4 Linux-SPARC примечания

В некоторых выполнении, readdir_r () сломан(нарушен). Признак - те БАЗЫ ДАННЫХ ПОКАЗА, всегда возвращает пустой набор. Это может быть установлено, удаляя HAVE_READDIR_R от "config.h" после конфигурирования и перед компилированием.

Некоторые проблемы будут требовать внесения исправлений вашей инсталляции Linux. Заплата может быть найдена в http://www.mysql.com/patches/Linux-sparc-2.0.30.diff. Эта заплата - против Linux распределения "sparclinux-2.0.30.tar.gz", который является доступным в vger.rutgers.edu (версия Linux, который никогда не был объединен с должностным лицом 2.0.30). Вы должны также установить LinuxThreads 0.6 или более новый.

Благодаря jacques@solucorp.qc.ca для этой информации.

4.11.5.5 Linux-альфа примечания

MySQL 3.23.12 - первая MySQL версия, которая проверена на Linux-альфе. Если Вы планируете использовать MySQL на Linux-альфе, Вы должны гарантировать, что Вы имеете эту версию или более новый.

Мы проверили MySQL на Альфе с нашими эталонными тестами + испытательный набор программ, и это, кажется, работает приятно. Главная вещь, которую мы не все же имели время, чтобы проверить, состоит в том, как вещи работают с многими параллельными пользователями.

Когда мы компилировали MySQL мы при использовании SuSE 6.3, ядро 2.2.13-SMP, egcs 1.1.2 и libc-2.1.2-28.

Мы использовали следующую строку выбора конфигурации:

 CFLAGS = "-O6 -fomit-frame-pointer " CXX=gcc CXXFLAGS = "-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti " ./configure - префикс =/usr/local/mysql - отключать - общедоступный

Некоторые известные проблемы при выполнении MySQL на Linux-альфе:

Мы все же не знаем, является ли следующая старая информация все еще уместна, так что мы оставляем это здесь, пока мы не имели время, чтобы проверить Linux-альфу должным образом.

Если Вы имеете проблемы с сигналами (MySQL, умирает неожиданно при высокой загрузке) Вы, возможно, нашли OS ошибку(дефект) с тематиками и сигналами. В этом случае(регистре) Вы можете сообщить MySQL не использовать сигналы, конфигурируя с:

 Оболочка > CFLAGS =-DDONT_USE_THR_ALARM \ CXXFLAGS =-DDONT_USE_THR_ALARM \ ./configure ...

Это не затрагивает эффективность MySQL, но имеет побочный эффект, что Вы не можете уничтожать клиентуру, которая является " " бездействующий " на подключении с mysqladmin, уничтожают или mysqladmin завершение. Вместо этого, клиент умрет, когда это выпускает его следующую команду.

4.11.5.6 MkLinux примечания

MySQL должен работать на MkLinux с самым новым пакет glibc (проверенный с glibc 2.0.7).

4.11.5.7 Qube2 Linux примечания

Чтобы заставить MySQL работать на Qube2, (Linux Миллионы операций в секунду), Вы нуждаетесь самый новый glibc библиотеки (glibc-2.0.7-29C2, как известно, работает). Вы должны также использовать egcs компилятор C++ (egcs-1.0.2-9 или более новый).

4.11.6 Alpha-DEC-Unix примечания

При компилировании связных программ под Цифровым UNIX, документация рекомендует использовать -pthread опцию для куб/см и cxx и библиотек -lmach -lexc (в дополнение к -lpthread). Вы должны выполнить выбор конфигурации кое-что вроде этого:

 Оболочка > КУБ/СМ = " куб/см -pthread " CXX = " cxx -pthread -O " \ ./configure - with-named-thread-libs = "-lpthread -lmach -lexc -нижнего регистра "

При компилировании mysqld, Вы можете видеть пару предупреждений подобно этому:

 Mysqld.cc: функция In пусто handle_connections () ':mysqld.cc:626: проходя долго int без знака * ' как параметр 3 ofaccept (int, sockadddr *, int *) '

Вы можете безопасно игнорировать эти предупреждения. Они происходят, потому что выбор конфигурации может обнаруживать только ошибки, не предупреждения.

Если Вы запускаете сервер непосредственно с командной строки, Вы можете иметь проблемы с этим смертью, когда Вы выходите из системы. (Когда Вы выходите из системы, ваши невыполненные(выдающиеся) процессы принимают сигнал SIGHUP.) Если так, пробуйте запустить сервер подобно этому:

 Оболочка > nohup mysqld [параметры] и

Nohup заставляет команду после этого игнорировать любой сигнал SIGHUP, посланный от терминала. Альтернативно, запустите сервер, выполняя safe_mysqld, который вызывает mysqld использование nohup для Вас.

4.11.7 Alpha-DEC-OSF1 примечания

Если Вы имеете проблемы при компилировании и имеете КУБ/СМ ДЕКАБРЯ и установленный gcc, пробуете выполнить выбор конфигурации подобно этому:

 Оболочка > CC=cc CFLAGS =-O CXX=gcc CXXFLAGS =-O3 \ ./configure - префикс =/usr/local/mysql

Если Вы получаете проблемы с "c_asm.h" файлом, Вы можете создавать и использовать 'куклу' "c_asm.h" файл с:

 Оболочка > касается include/c_asm.hshell > CC=gcc CFLAGS =-I./include \ CXX=gcc CXXFLAGS =-O3 \ ./configure - префикс =/usr/local/mysql

На OSF1 V4.0D и компиляторе " C ДЕКАБРЯ V5.6-071 на Цифровом UNIX V4.0 (Преподобный 878) " компилятор имел некоторое странное поведение (неопределенные символы ассемблера). /bin/ld также, кажется, сломан(нарушен) (проблемы с _exit неопределенным появлением ошибок при соединении mysqld). На этой системе, мы сумели компилировать MySQL со следующей строкой выбора конфигурации, после замены /bin/ld с версией от OSF 4.0C:

 Оболочка > CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql

С Цифровым компилятором " C++ V6.1-029 ", следующее должен работать:

 CC=cc -pthreadCFLAGS =-O4 -ansi_alias -ansi_args быстро -встроенное быстродействие -размышляет(спекулирует) вся -арка(дуга) hostCXX=cxx -pthreadCXXFLAGS =-O4 -ansi_alias -ansi_args, быстро -встроенное быстродействие -размышляет(спекулирует) вся -арка(дуга) hostexport КУБ/СМ CFLAGS CXX CXXFLAGS./configure - префикс =/usr/mysql/mysql - " с низкой памятью " - enable-large-files - with-mysqld-ldflags =-all-static - отключ - общедоступный - with-named-thread-libs = "-lmach -lexc -нижнего регистра "

В некоторых версиях OSF1, alloca () функция сломана(нарушена). Установите это, удаляя строку в "config.h", который определяет 'HAVE_ALLOCA'.

Alloca () функция также может иметь неправильный прототип в /usr/include/alloca.h. Это предупреждение, следующее из этого может игнорироваться.

Выбор конфигурации будет использовать следующие библиотеки тематики автоматически: - with-named-thread-libs = "-lpthread -lmach -lexc -нижнего регистра ".

При использовании gcc, Вы можете также пробовать выполнить выбор конфигурации подобно этому:

 Оболочка > CFLAGS =-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS =-O3 ./configure ....

Если Вы имеете проблемы с сигналами (MySQL, умирает неожиданно при высокой загрузке) Вы, возможно, нашли OS ошибку(дефект) с тематиками и сигналами. В этом случае(регистре) Вы можете сообщить MySQL не использовать сигналы, конфигурируя с:

 Оболочка > CFLAGS =-DDONT_USE_THR_ALARM \ CXXFLAGS =-DDONT_USE_THR_ALARM \ ./configure ...

Это не затрагивает эффективность MySQL, но имеет побочный эффект, что Вы не можете уничтожать клиентуру, которая является " " бездействующий " на подключении с mysqladmin, уничтожают или mysqladmin завершение. Вместо этого, клиент умрет, когда это выпускает его следующую команду.

С gcc 2.95.2, Вы вероятно столкнетесь с следующим, компилируют ошибку:

 Sql_acl.cc:1456: Внутренняя ошибка компилятора в "scan_region", в кроме c:2566please представляет(подвергает) полное сообщение ошибки(дефекта).

Чтобы устанавливать это, Вы должны измениться к sql каталогу и делать '"вырезать и вставлять"' последней(прошлой) строки gcc, но изменять(заменять) -O3 к -O0 (или добавлять -O0 немедленно после gcc, если Вы не имеете любую -O опцию на вашем, чтобы компилировать строку. После того, как это сделано, Вы можете только изменяться назад к верхнему уровню непосредственно и выполняться, делают снова.

4.11.8 SGI-Irix примечания

Если Вы используете Irix, 6.5.3 или более нового mysqld будет только способен создать тематики, если Вы выполняете это как пользователь с CAP_SCHED_MGT привилегиями (подобно корню) или даете mysqld серверу эту привилегию со следующей командой оболочки:

 Оболочка > chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld

Вам, вероятно, придется неопределять некоторые вещи в "config.h" после выполняющегося выбора конфигурации и перед компилированием.

В некоторых Irix выполнении, alloca () функция сломана(нарушена). Если mysqld сервер умирает на некоторых инструкциях SELECT, удалите строки из "config.h", которые определяют HAVE_ALLOC и HAVE_ALLOCA_H. Если mysqladmin создают, не работает, удаляет строку из "config.h", который определяет HAVE_READDIR_R. Вам, вероятно, придется удалять строку HAVE_TERM_H также.

SGI рекомендует, чтобы Вы установили все заплаты на этой странице как набор: http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html

В самом минимуме, Вы должны установить самый последний ядерный сдвиг строк, самый последний rld сдвиг строк, и самый последний libc сдвиг строк.

Вы definately нуждаетесь в всех заплатах POSIX на этой странице, для поддержки pthreads:

http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html

Если Вы получаете кое-что вроде следующей ошибки при компилировании "mysql.cc":

 "/usr/include/curses.h", строка 82: ошибка (1084): недопустимая комбинация типа

Тогда напечатайте следующее в каталоге верхнего уровня вашего MySQL исходного дерева:

 Оболочка > дополнительное пространство / замена bool curses_bool < /usr/include/curses.h > include/curses.hshell > делает

Также имелись сообщения планирования проблем. Если только одна тематика выполняется, вещи идут медленно. Избегите этого, запуская другого клиента. Это может вести к 2-to-10-fold увеличение в быстродействии выполнения после того для другой тематики. Это - плохо-понятая проблема с Irix тематиками; Вам, вероятно, придется импровизировать, чтобы найти решения, пока это не может быть установлено.

Если Вы компилируете с gcc, Вы можете использовать следующую команду выбора конфигурации:

 Оболочка > CC=gcc CXX=gcc CXXFLAGS =-O3 \ ./configure - префикс =/usr/local/mysql - " с клиентом сейфа нити " - with-named-thread-libs =-lpthread

4.11.9 FreeBSD примечания

FreeBSD 3.x рекомендуется для выполнения MySQL, так как это пакет тематик намного больше интегрировано.

Самый простой и therefor привилегированный способ устанавливать состоит в том, чтобы использовать mysql-сервер и порты mysql-клиента, доступные на http://www.freebsd.org

Использование их дает Вам:

Это - recomended, чтобы использовать MIT-PTHREADS на FreeBSD 2.x и родных тематиках на версиях 3 и. Возможно выполнить с с родными тематиками на некоторый последний 2.2.x версии, но Вы можете сталкиваться с проблемами при завершении mysqld.

Убедитесь, что имели вашу правильную установку решающих устройств названий(имени). Иначе Вы можете испытывать задержки решающего устройства или отказы(неудачи) при соединении с mysqld.

Удостоверитесь, что localhost вход в " /etc/hosts' файл правилен (иначе Вы будете иметь проблемы при соединении с базой данных). " /etc/hosts' файл должен начаться со строки:

 127.0.0.1 Localhost localhost.your.domain

Если Вы обращаете внимание, что выбор конфигурации будет использовать MIT-PTHREADS, Вы должны читать примечания MIT-PTHREADS. См. раздел 4.9 MIT-pthreads примечания.

Если Вы добираетесь, ошибка от делает установку, которую это не может находить " /usr/include/pthreads', выбор конфигурации не обнаруживал это, Вы нуждаетесь В MIT-PTHREADS. Это установлено, выполняясь эти команды:

 Оболочка > rm config.cacheshell > ./configure - with-mit-threads

Поведение FreeBSD делает, слегка отличается от такового GNU, делают. Если Вы делали - связал проблемы, Вы должны установить GNU, делают.

FreeBSD, как известно, имеет очень низкий заданный по умолчанию предел маркера(дескриптора) файла. См. раздел 19.11 Файла, не найденные. Некомментарий ulimit -n раздел в safe_mysqld или повышении, пределы для mysqld пользователя в /etc/login.conf (и восстанавливают это witg cap_mkdb /etc/login.conf) также, убеждается, что Вы устанавливаете соответствующий Класс для этого пользователя в файле пароля, если Вы не используете значение по умолчанию (использование: chpass mysqld-user-name)

Если Вы имеете проблему с ВЫБОРОМ ТЕПЕРЬ () возвращающиеся значения в СРЕДНЕМ ВРЕМЕНИ ПО ГРИНВИЧУ и не ваше местное время, Вы должны установить TZ переменную среды в ваш ток(поток) timezone. Это должно быть сделано для среды, в которой сервер выполняется, например, в safe_mysqld или mysql.server.

Чтобы получить безопасную и устойчивую систему, Вы должны только использовать FreeBSD ядра, которые отмечены -устойчивыми

4.11.10 NetBSD примечания

Чтобы компилировать на NetBSD, Вы нуждаетесь В GNU, делают. Иначе компилирующийся разрушится, когда делают попытки выполнить lint на файлах C++.

4.11.11 OpenBSD 2.5 примечания

На OpenBSD 2.5, Вы можете компилировать MySQL с родными тематиками со следующими параметрами:

 CFLAGS =-pthread CXXFLAGS =-pthread ./configure - with-mit-threads=no

4.11.12 BSD/OS примечания

4.11.12.1 BSD/OS 2.x примечания

Если Вы получаете следующую ошибку при компилировании MySQL, ваше значение ulimit для виртуальной памяти слишком низко:

 Item_func.h: В методе " Item_func_ge:: Item_func_ge (константа Item_func_ge &)':item_func.h:28: виртуальная память exhaustedmake [2]: *** [item_func.o] Ошибка 1

Попытка, использующая ulimit -v 80000 и выполняется, делают снова. Если это не работает, и Вы используете удар, пробуете переключить к csh или sh; некоторые BSDI пользователи сообщили о проблемах с ударом и ulimit.

Если Вы используете gcc, Вы можете также использовать, должны использовать - флажок " с низкой памятью " для выбора конфигурации, чтобы быть способным компилировать " sql_yacc.cc '.

Если Вы имеете проблему с ВЫБОРОМ ТЕПЕРЬ () возвращающиеся значения в СРЕДНЕМ ВРЕМЕНИ ПО ГРИНВИЧУ и не ваше местное время, Вы должны установить TZ переменную среды в ваш ток(поток) timezone. Это должно быть сделано для среды, в которой сервер выполняется, например в safe_mysqld или mysql.server.

4.11.12.2 BSD/OS 3.x примечания

Обновление к BSD/OS 3.1. Если это не возможно, установите BSDIPATCH M300-038.

Используйте следующую команду при конфигурировании MySQL:

 Оболочка > env CXX=shlicc ++ CC=shlicc2 \ ./configure \ - префикс =/usr/local/mysql \ - localstatedir =/var/mysql \ - without-perl \ - with-unix-socket-path=/var/mysql/mysql.sock 

Следующее, как известно, работает:

 Оболочка > env CC=gcc CXX=gcc CXXFLAGS =-O3 \ ./configure \ - префикс =/usr/local/mysql \ - with-unix-socket-path=/var/mysql/mysql.sock 

Вы можете изменять(заменять) расположения каталога, если Вы желаете, или только используете значения по умолчанию, не определяя любые расположения.

Если Вы имеете проблемы с эффективностью при тяжелой загрузке, пробуете использовать - опцию " приоритет тематики пропуска " к safe_mysqld! Это выполнит все тематики с тем же самым приоритетом; на BSDI 3.1, это дает лучшую эффективность (по крайней мере, пока BSDI не устанавливает их планировщика тематики).

Если Вы получаете ошибку виртуальная память, истощенная при компилировании, Вы должны пробовать использовать ulimit -v 80000 и выполняться, делают снова. Если это не работает, и Вы используете удар, пробуете переключить к csh или sh; некоторые BSDI пользователи сообщили о проблемах с ударом и ulimit.

4.11.12.3 BSD/OS 4.x примечания

BSDI 4.x имеет некоторую тематику связанные ошибки(дефекты). Если Вы хотите использовать MySQL на этом, Вы должны установить всю тематику связанные заплаты. По крайней мере M400-023 должен быть установлен.

На некотором BSDI 4.x системы, Вы можете получить проблемы с общедоступными библиотеками. Признак - то, что Вы не можете выполнять любые программы клиента, подобно например mysqladmin. В этом случае(регистре) Вы должны реконфигурировать, чтобы не использовать общедоступные библиотеки с - отключенная - общедоступная опция, чтобы конфигурировать.

4.11.13 SCO примечания

Текущий порт проверен только на " " sco3.2v5.0.4 "и" "sco3.2v5.0.5" система. Также имелись много продвижения(прогресса) на порте к " " sco 3.2v4.2 ".

В течение момента рекомендуемый компилятор на OpenServer - gcc 2.95.2. С этим Вы должны быть способны компилировать MySQL с только:

 CC=gcc CXX=gcc ./configure ... (параметры)
  1. Для OpenServer 5.0. X Вы должны использовать GDS в Skunkware 95 (95q4c). Это необходимо, потому что GNU gcc 2.7.2 в Skunkware 97 не имеет GNU как. Вы можете также использовать egcs, 1.1.2 или более новый http://www.egcs.com/. Если Вы используете egcs 1.1.2, Вы должны выполнить следующую команду:
     Оболочка > cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/ 
  2. Вы нуждаетесь в порте GCC 2.5.? Для этого изделия(программы) и Системы разработки программ. Они требуются на этой версии SCO UNIX. Вы не можете только использовать GCC Dev система.
  3. Вы должны получить FSU Pthreads пакет и устанавливать это сначала. Это может быть найдено в http://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz. Вы можете также получить пакет precompiled от ftp://www.mysql.com/pub/mysql/Downloads/SCO/FSU-threads-3.5c.tar.gz.
  4. FSU Pthreads может быть откомпилирован с SCO UNIX 4.2 с tcpip. Или OpenServer 3.0 или Открытых Рабочих стол 3.0 (OS 3.0 ODT 3.0), с SCO Системой разработки программ установил использование хорошего порта GCC 2.5. X ODT или OS 3.0 Вы будете нуждаться в хорошем порте GCC 2.5.? Имеются много проблем без хорошего порта. Порт для этого изделия(программы) требует SCO Системы разработки программ UNIX. Без этого, Вы пропускаете библиотеки и компоновщик, который необходим.
  5. Чтобы формировать FSU Pthreads на вашей системе, делайте следующее:
    1. Выполните ./configure в "threads/src" каталоге, и выберите SCO опцию OpenServer. Эта команда копирует " Формирование файла. SCO5 ' к "Формированию файла".
    2. Выполнитесь делают.
    3. Чтобы устанавливать в значение по умолчанию "/usr/include" каталог, войдите как корень, тогда cd к "thread/src" каталогу, и выполнитесь, делают установку.
  6. Не забудьте использовать GNU, делают при создании MySQL.
  7. На OSR 5.0.5, Вы должны использовать следующую строку выбора конфигурации:
     Оболочка > КУБ/СМ = " gcc -DSCO " CXX = " gcc -DSCO " ./configure
    -DSCO необходим, чтобы помогать конфигурировать поиск некоторые функции тематики должным образом. Если Вы забываете -DSCO, Вы получите следующее сообщение об ошибках при компилировании:
     My_pthread.c: функция In " my_pthread_mutex_init ':my_pthread.c:374: " pthread_mutexattr_default ' необъявленный (сначала используют эту функцию)
  8. Если Вы не запускаете safe_mysqld как корень, Вы вероятно получите только значение по умолчанию 110 открытых файлов в процесс. Mysqld запишет примечание относительно этого в журнале.
  9. С SCO 3.2V5.0.5, Вы должны использовать FSU Pthreads версия 3.5c или более новый. Следующая команда выбора конфигурации должна работать:
     Оболочка > КУБ/СМ = " gcc -belf " ./configure - префикс =/usr/local/mysql - отключать - общедоступный
  10. С SCO 3.2V4.2, Вы должны использовать FSU Pthreads версия 3.5c или более новый. Следующая команда выбора конфигурации должна работать:
     Оболочка > CFLAGS = "-D_XOPEN_XPG4 " CXX=gcc CXXFLAGS = "-D_XOPEN_XPG4 " \ ./configure \ - " с отладкой " - префикс =/usr/local/mysql \ - with-named-thread-libs = "-lgthreads -lsocket -lgen -lgthreads " \ - проклинает = "-lcurses "
    Вы можете получить некоторые проблемы с некоторыми файлами для включения. В этом случае(регистре), Вы можете находить новые SCO-ОПРЕДЕЛЕННЫЕ файлы для включения в ftp://www.mysql.com/pub/mysql/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz. Вы должны распаковать этот файл в "включающемся" каталоге вашего MySQL исходного дерева.

SCO примечания развития:

Если Вы хотите установить DBI на SCO, Вы должны редактировать " Формирования файла в DBI-XXX и каждом подкаталоге:

 СТАРЫЙ: NEW:CC = куб/см КУБ/СМ = gcc -belfCCCDLFLAGS = -KPIC -W1, -Bexport CCCDLFLAGS = -fpicCCDLFLAGS = -wl, -Bexport CCDLFLAGS =LD = ld LD = gcc -belf -G -fpicLDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/libLDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/libLD = ld LD = gcc -belf -G -fpicOPTIMISE = -Od 		 ОПТИМИЗИРУЕТ = -O1OLD:CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/includeNEW:CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include

Это - то, потому что Perl dynaloader не будет загружать DBI модули, если они были откомпилированы с icc или куб/см.

Perl работает лучше всего когда откомпилировано с куб/см.

4.11.14 SCO Unixware 7.0 примечаний

Вы должны использовать версию MySQL по крайней мере столь же недавний как 3.22.13, так как та версия устанавливает некоторые проблемы мобильности под Unixware.

Мы были способны компилировать MySQL со следующей командой выбора конфигурации на UnixWare 7.0.1:

 Оболочка > CC=cc CXX=CC ./configure - префикс =/usr/local/mysql

Если Вы хотите использовать gcc, Вы должны использовать gcc 2.95.2 или более новый.

4.11.15 IBM - AIX примечания

Автоматическое обнаружение xlC отсутствует от Autoconf, так команда выбора конфигурации кое-что вроде этого необходимо при использовании IBM компилятора:

 Оболочка > КУБ/СМ = " xlc_r -ma -O3 -qstrict -DHAVE_INT_8_16_32 " \ CXX = " xlC_r -ma -O3 -qstrict -DHAVE_INT_8_16_32 " \ ./configure

Если Вы изменяете(заменяете) -O3 к -O2 в вышеупомянутой строке выбора конфигурации, Вы должны также удалить -qstrict опцию (это - ограничение в IBM компиляторе C).

Если Вы используете egcs, чтобы компилировать MySQL, Вы ДОЛЖНЫ использовать флажок -fno-exceptions, поскольку обработка особых ситуаций в egcs не безопасна по тематике! (Это проверено с 1.1 egcs.) Мы рекомендуем следующую строку выбора конфигурации с egcs и gcc на AIX:

 Оболочка > CXX=gcc \ CXXFLAGS = "-felide-constructors -fno-exceptions -fno-rtti " \ ./configure - префикс =/usr/local/mysql - " с отладкой " - " с низкой памятью "

Если Вы имеете проблемы с сигналами (MySQL, умирает неожиданно при высокой загрузке) Вы, возможно, нашли OS ошибку(дефект) с тематиками и сигналами. В этом случае(регистре) Вы можете сообщить MySQL не использовать сигналы, конфигурируя с:

 Оболочка > CFLAGS =-DDONT_USE_THR_ALARM CXX=gcc \ CXXFLAGS = "-felide-constructors -fno-exceptions -fno-rtti -DDONT_USE_THR_ALARM " \ ./configure - префикс =/usr/local/mysql - " с отладкой " - " с низкой памятью "

Это не затрагивает эффективность MySQL, но имеет побочный эффект, что Вы не можете уничтожать клиентуру, которая является " " бездействующий " на подключении с mysqladmin, уничтожают или mysqladmin завершение. Вместо этого, клиент умрет, когда это выпускает его следующую команду.

На некоторых версиях AIX, связываясь с libbind.a делает getservbyname основной дамп. Это - AIX ошибка(дефект) и должно быть сообщено на IBM.

4.11.16 HP-UX 10.20 примечаний

Имеется пара " " маленький " проблемы при компилировании MySQL на HP-UX. Мы рекомендуем, чтобы Вы использовали gcc вместо HP-UX родного компилятора, потому что gcc производит лучше код!

Мы рекомендуем использовать gcc 2.95 на HP-UX. Не используйте высокие флажки оптимизации (подобно -O6) поскольку это не может быть безопасно на HP-UX.

Обратите внимание, что MIT-PTHREADS не может быть откомпилирован с HP-UX компилятором, потому что это не может компилировать .S файлы (ассемблера).

Следующая строка выбора конфигурации должна работать:

 CFLAGS = "-DHPUX -I/opt/dce/include " CXXFLAGS = "-DHPUX -I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti " CXX=gcc ./configure - with-pthread - with-named-thread-libs = '-ldce ' - префикс =/usr/local/mysql - отключать - общедоступный

Если Вы компилируете gcc 2.95 самостоятельно, Вы не должны связать это с библиотеками АППАРАТУРЫ ПЕРЕДАЧИ СИГНАЛА (libdce.a или libcma.a) если Вы хотите компилировать MySQL с MIT-PTHREADS. Если Вы смешиваете АППАРАТУРУ ПЕРЕДАЧИ СИГНАЛА, и пакеты MIT-PTHREADS Вы получите mysqld, с которым Вы не можете соединяться. Удалите библиотеки АППАРАТУРЫ ПЕРЕДАЧИ СИГНАЛА, в то время как Вы компилируете gcc 2.95!

4.11.17 HP-UX 11.x примечания

Имеется некоторая информация, который HP-UX 11.x пользователь послал нам:

Обратите внимание, что некоторые из этих вещей уже установлены в MySQL 3.23.

Обратите внимание: двоичное распределение для hp-ux 10.20 pa1.1 убирает ядро на hp-ux 11.0 pa2.0 в течение scripts/mysql_install_db. Также, я чувствую это необходимый формировать на пустом месте. Это было мягко болезненный процесс, так что я совместно использую мою работу, так что другие могут извлекать выгоду.

Комментарии от другого пользователя, который формировал MySQL с gcc 2.95.1:

4.11.18 MacOS X примечания

Вы можете заставить MySQL работать на MacOS X следующим связи(ссылки) к MacOS X порты. См. раздел 1.9 Полезные MySQL-имеющиеся отношение связи(ссылки).

MySQL 3.23.7 должен включить все заплаты, необходимые конфигурировать это на MacOSX. Вы должны однако сначала установить пакет pthread от MySql для MacOSX Сервера перед конфигурированием MySQL.

Вы могли бы хотеть также добавить псевдонимы к файлу ресурса вашей оболочки, чтобы обратиться к mysql и mysqladmin от командной строки.

 Псевдоним mysql '/usr/local/mysql/bin/mysql'alias mysqladmin '/usr/local/mysql/libexec/mysqladmin '

4.12 Win32 примечания

Этот раздел описывает инсталляцию и использование MySQL на Win32. Это также описано в "README" файле, который идет с MySQL Win32 распределение.

4.12.1 Установка MySQL на Win32

Если Вы не имеете зарегистрированную версию MySQL, Вы должны сначала загрузить версию общего пользования от:

MySQL 3.22.30

Если Вы планируете соединяться с MySQL от некоторой другой программы, Вы будете вероятно также нуждаться в MyODBC драйвере. Вы можете находить это в MySQL странице разгрузки.

Чтобы устанавливать любое распределение, разархивируйте это в некотором пустом каталоге, и выполните Setup.exe программу.

По умолчанию, MySQL-Win32 конфигурирован, чтобы быть установленным в "C:\mysql". Если Вы хотите установить MySQL в другом месте, установите это в "C:\mysql", то переместите инсталляцию в то, где Вы хотите это. Если Вы перемещаете MySQL, Вы должны сообщить mysqld, где все - поставляя(снабжая) параметрам к mysqld. Использование C:\mysql\bin\mysqld - помогает отображать все параметры! Например, если Вы переместили MySQL распределение в "D:\programs\mysql", Вы должны запустить mysqld с: D:\programs\mysql\bin\mysqld - basedir D:\programs\mysql

С зарегистрированной версией MySQL, Вы можете также создавать "C:\my.cnf" файл, который проводит(держит) любые опции по умолчанию для MySQL сервера. Копируйте файл к "C:\my.cnf", и редактируйте это, чтобы удовлетворить вашу установку. Обратите внимание, что Вы должны определить все пути с / вместо \. Если Вы используете \, Вы должны определить это дважды(вдвое), поскольку \ - символ ESC в MySQL. См. раздел 4.15.4 файла Опции.

4.12.2 Старт MySQL на Win95 / Win98

MySQL использует TCP/IP, чтобы подключить клиента с сервером. (Это позволит любую машину на вашей сети соединяться с вашим MySQL сервером). Из-за этого, Вы должны установить TCP/IP на вашей машине перед стартом MySQL. Вы можете находить TCP/IP на вашем CD-ROM Windows.

Обратите внимание, что, если Вы используете старый выпуск Win95 (например OSR2), вероятно, что Вы имеете старый пакет Winsock! MySQL требует Winsock 2! Вы можете становиться самыми новыми Winsock от Microsoft. Win98 имеет как значение по умолчанию новый Winsock 2 библиотека, так что вышеупомянутое не просит Win98.

Имеются 2 различных MySQL сервера, которые Вы можете использовать:

Mysqld Компилированный с полной отладкой и автоматической проверкой распределения памяти
Ysql -выбрать Оптимизированный для процессора Pentium.

Оба из вышеупомянутого должны работать на любом процессоре Intel > = i386.

Чтобы запускать mysqld сервер, Вы должны запустить окно MS-DOS и напечатать:

  C:\mysql\bin\mysqld 

Это запустит mysqld на заднем плане без окна.

Вы можете уничтожать MySQL сервер, выполняясь:

  C:\mysql\bin\mysqladmin -u внедряет завершение

Обратите внимание, что Win95/Win98 не поддерживают создание именованных каналов. На Win95/Win98, Вы можете только использовать именованные каналы, чтобы соединиться с отдаленным MySQL, выполняющим на NT сервере.

Если mysqld не начинается, пожалуйста проверьте(отметьте), действительно ли "\mysql\mysql.err" файл содержит любую причину для этого. Вы можете также пробовать запустить это с mysqld - автономный; В этом случае(регистре) Вы можете получить некоторую полезную информацию относительно экрана, который может помогать решать это.

Последняя(прошлая) опция должна запустить mysqld с - отладка. В этом случае(регистре) mysqld запишет журнал в "\mysqld.trace", который должен содержать причину, почему mysqld не начинается. Если Вы делаете сообщение ошибки(дефекта) относительно этого, пожалуйста только пошлите строки где кое-что швы, чтобы идти не так, как надо к списку адресатов!

4.12.3 Старт MySQL на NT

Win95/Win98 раздел также применяется(обращается) к MySQL на NT, со следующими различиями:

Чтобы заставить MySQL работать с TCP/IP, Вы должны установить обслуживание(службу), упаковывают 3 (или более новый)!

Для NT, имя сервера - mysqld-nt. Обычно Вы должны установить MySQL как обслуживание(служба) на NT:

  C:\mysql\bin\mysqld-nt - установка

( Вы могли использовать mysqld или ysqld-выбирать серверы на NT, но те не могут быть начаты как именованные каналы использования или обслуживание(служба).)

Вы можете запускать и останавливать обслуживание(службу) MySQL с:

 СЕТЕВОЕ НАЧАЛО mysqlNET ОСТАНАВЛИВАЕТ mysql

Обратите внимание, что в этом случае(регистре) Вы не можете использовать любые другие параметры для mysqld-nt!

Вы можете также выполнять mysqld-nt как автономная программа на NT, если Вы должны запустить mysqld-nt с любых параметров! Если Вы запускаете mysqld-nt без параметров на NT, mysqld-nt пробует к запускам самостоятельно как обслуживание(служба) с заданными по умолчанию сервисными параметрами. Если Вы остановили mysqld-nt, Вы должны запустить это с СЕТЕВОГО НАЧАЛА mysql.

Обслуживание(служба) установлено с названием(именем) MySql. После того, как установленный, это должно быть начато, используя Администратора Управления Услуг (SCM) Утилита (найденный в Панели управления) или, используя СЕТЕВУЮ команду MySQL НАЧАЛА. Если любые параметры желательны, они должны быть определены как " параметры Startup " в утилите SCM прежде, чем Вы запускаете обслуживание(службу) MySQL. Однажды выполнение, mysqld-nt может быть остановлен, используя mysqladmin или от утилиты SCM, или, используя команду NET ОСТАНАВЛИВАЮТ MySQL. Если Вы используете SCM, чтобы остановить mysqld-nt, имеется странное сообщение от SCM относительно mysqld завершения обычно. Когда выполнено как обслуживание(служба), mysqld-nt не имеет никакого доступа к пульту и так что никакие сообщения не могут быть замечены.

На NT Вы можете получить следующие сервисные сообщения об ошибках:

Отклоненное Разрешение Означает, что это не может находить mysqld-nt.exe
Не может Регистрироваться Означает, что путь неправилен

Если Вы имеете проблемы при установке mysqld-nt как обслуживание(служба), пробуете запустить это с полного пути:

  C:\mysql\bin\mysqld-nt - установка

Если это не работает, Вы можете заставить mysqld-nt начинаться должным образом, устанавливая путь в системном реестре!

Если Вы не хотите запустить mysqld-nt как обслуживание(служба), Вы можете запускать это следующим образом:

  C:\mysql\bin\mysqld-nt - автономный

Или

  C:\mysql\bin\mysqld - автономный - отладка

Последняя(прошлая) версия дает Вам след отладки в "C:\mysqld.trace".

4.12.4 Выполнение MySQL на Win32

MySQL поддерживает TCP/IP на всех Win32 платформах и именованных каналах на NT. Значение по умолчанию должно использовать именованные каналы для локальных подключений на NT и TCP/IP для всех других случаев(дел), если клиент имеет установленный TCP/IP. Имя хоста определяет, который протокол используется:

Имя хоста
Протокол
ПУСТОЙ УКАЗАТЕЛЬ (ни один) На NT, именованные каналы попытки сначала; если это не работает, используйте TCP/IP. На Win95/Win98, TCP/IP используется.
. Именованные каналы
Localhost TCP/IP на текущий главный компьютер
Имя хоста TCP/IP

Вы можете вынуждать MySQL клиента использовать именованные каналы, определяя - опция канала. Использование - опция разъема, чтобы определить название(имя) канала.

Вы можете проверять, действительно ли MySQL работает, выполняя следующие команды:

  C:\mysql\bin\mysqlshowC:\mysql\bin\mysqlshow -u внедряет mysqlC:\mysql\bin\mysqladmin состояние версии procC:\mysql\bin\mysql испытание

Если mysqld не спешит отвечать на подключения на Win95/Win98, имеется вероятно проблема с вашей ДОМЕННОЙ СИСТЕМОЙ ИМЕН. В этом случае(регистре), запустите mysqld с - " решение названия(имени) пропуска " и используйте только localhost и IP числа(номера) в таблицах предоставления MySQL. Вы можете также избегать ДОМЕННОЙ СИСТЕМЫ ИМЕН при соединении с mysqld-nt MySQL сервер, выполняющийся на NT, используя - параметр канала, чтобы определить использование именованных каналов. Это работает для большинства MySQL клиентура.

Имеются две версии MySQL инструмента командной строки:
Mysql Компилированный на аборигене Вин32е, который предлагает очень ограниченные возможности редактирования текста.
Mysqlc Компилированный с Cygnus GNU компилятор и библиотеки, который предлагает редактирование readline.

Если Вы хотите использовать mysqlc.exe, Вы должны копировать `C:\mysql\lib\cygwinb19.dll "к" \windows\system ' (или подобное место).

Заданные по умолчанию привилегии на Win32 дают всем локальным пользователям полные привилегии всем базам данных. Чтобы делать MySQL более безопасным, Вы должны установить пароль для всех пользователей и удалять строку в mysql.user таблице, которая имеет Главный компьютер ='localhost ' и Пользователя = ".

Вы должны также добавить пароль для корневого пользователя: (следующие запуски примера, удаляя анонимного пользователя, который позволяет любому обращаться к 'испытательной' базе данных)

  C:\mysql\bin\mysql mysqlmysql > УДАЛЯЮТ ОТ пользователя ГДЕ Главный компьютер ='localhost ' И Пользователя = "; mysql > QUITC:\mysql\bin\mysqladmin reloadC:\mysql\bin\mysqladmin -u внедряют пароль your_password

После того, как вы установили пароль, если Вы хотите разобрать mysqld сервер, Вы можете делать так использование этой команды:

 Mysqladmin - user=root - password=your_password завершение

Если Вы используете старую версию общего пользования MySQL 3.21 под Windows, вышеупомянутая команда будет терпеть неудачу с ошибкой: ошибка синтаксического анализа около ' пароль ОПЦИИ НАБОРА '. Это - то, потому что старая версия общего пользования, которая основана на MySQL 3.21, не имеет команду SET PASSWORD. Местоположение находится в этом случае(регистре), должен модернизировать к 3.22 версии общего пользования.

С зарегистрированной MySQL версией Вы можете легко добавлять новых пользователей и изменять(заменять) привилегии с ПРЕДОСТАВЛЕНИЕМ и ОТМЕНЯТЬ команды. См., что раздел 7.26 ПРЕДОСТАВЛЯЕТ и ОТМЕНЯЕТ синтаксис. С Windows версия общего пользования на должна использовать ВСТАВКУ, ОБНОВЛЯТЬ(МОДИФИЦИРОВАТЬ) и УДАЛЯТЬ один таблицы в mysql базе данных, чтобы управлять пользователями и их привилегиями. См. раздел 6.15 Причины Доступ не разрешен ошибок.

4.12.5 Соединение с отдаленным MySQL от Win32 с SSH

Имеется примечание относительно того, как соединиться, чтобы получить безопасное подключение к отдаленному MySQL серверу с SSH (Дэвидом Карлсоном).

Вот именно. Это работает очень хорошо с прямым подключением Internet. Я имею проблемы с SSH, находящимся в противоречии с моей Win95 сетью и Wingate - но это будет тема(раздел) регистрации на usegroup другой программной компании!

4.12.6 MySQL-Win32 сравненный с Unix MySQL

MySQL-Win32 к настоящему времени доказал себя, чтобы быть очень устойчивым. Эта версия MySQL имеет те же самые особенности как передача Unix версия со следующими исключениями:

Win95 и тематики
Win95 пропускает приблизительно 200 байтов оперативной памяти для каждого создания тематики. Из-за этого, Вы не должны выполнить mysqld в течение расширенного(продленного) времени на Win95, если Вы делаете много подключений, так как каждое подключение в MySQL создает новую тематику! WinNT и Win98 не страдают от этой ошибки(дефекта).
Блокирование чтения
MySQL использует чтение блокирования для каждого подключения. Это означает что: Мы планируем устанавливать это в ближайшем будущем.
UDF функции
В течение момента, MySQL-Win32 не поддерживает определяемые пользователем функции.
БАЗА ДАННЫХ СНИЖЕНИЯ
Вы не можете понижать(пропускать) базу данных, которая находится в использовании некоторой тематикой.
Уничтожение MySQL от администратора задачи
Вы не можете уничтожать MySQL от администратора задачи или с утилитой завершения в Windows95. Вы должны разобрать это с mysqladmin завершением.
Названия(имена) Без учета регистра
Имена файла - случай(регистр), нечувствительный на Win32, так что база данных и названия(имена) таблицы - также случай(регистр), нечувствительный в MySQL для Win32. Единственное ограничение - та база данных, и названия(имена) таблицы нужно дать в том же самом случае(регистре) повсюду данной инструкции. Следующий запрос не работал бы, потому что это обращается(относится) к таблице, и как my_table и как MY_TABLE:
 ВЫБЕРИТЕ * ОТ my_table ГДЕ MY_TABLE.COL=1;
"\" символ каталога
Компоненты Имени пути в Win95 отделены "\" символы, который является также символом ESC в MySQL. Если Вы используете ДАННЫЕ ЗАГРУЗКИ INFILE или ВЫБИРАЕТЕ ... В OUTFILE, Вы должны удвоить "\" символ или использовать Unix имена файла стиля "/" символы:
 ЗАГРУЗИТЕ ДАННЫЕ INFILE "C:\\tmp\\skr.txt" В ТАБЛИЦУ skr; ВЫБЕРИТЕ * ОТ skr В OUTFILE 'C:/tmp/skr.txt';
Не может открывать ошибку именованного канала
Если Вы используете версию общего пользования MySQL-Win32 на NT с самой новой mysql-клиентурой, Вы получите следующую ошибку:
 Ошибка 2017: не может открывать именованный канал на главный компьютер:. Канал ...
Это - то, потому что выпускаемая версия MySQL использует именованные каналы на NT по умолчанию. Вы можете избегать этой ошибки, используя - host=localhost опция к новой MySQL клиентуре или создавать файл, который содержит следующую информацию:
 Главный компьютер [клиента] = localhost
Доступ не разрешен для ошибки пользователя
Если Вы получаете ошибку Доступ не разрешен для пользователя: 'some-user@unknown' к базе данных 'mysql' при доступе к MySQL серверу на той же самой машине, это означает, что MySQL не может решать ваше имя хоста должным образом. Чтобы устанавливать это, Вы должны создать файл " \windows\hosts' со следующей информацией:
 127.0.0.1 Localhost

Имеются некоторые открытые проблемы(выпуски) для любого, кто мог бы хотеть помочь нам с выпуском Win32:

Другие проблемы(выпуски) Win32-specific описаны в "README" файле, который идет с MySQL-Win32 распределением.

4.13 OS/2 примечания

MySQL использует весьма несколько открытых файлов. Из-за этого, Вы должны добавить кое-что вроде следующего к вашему " CONFIG.SYS' file:

 НАБОР EMXOPT =-c -n -h1024

Если Вы не делаете это, Вы вероятно столкнетесь с следующей ошибкой:

 Файл 'xxxx' не найденный (Errcode: 24)

При использовании MySQL с Деформацией OS/2 3, FixPack 29 или выше требуется. С Деформацией OS/2 4, FixPack 4 или выше требуется. Это - требование Pthreads библиотеки. MySQL должен быть установлен в раздел, который поддерживает длинные имена файлов типа HPFS, FAT32, и т.д.

Сценарий "INSTALL.CMD" должен быть выполнен от OS/2'S, собственного `CMD.EXE ' и не может работать с оболочками замены типа " 4OS2. EXE '.

Сценарий "scripts/mysql-install-db" был переименован: это теперь называется "install.cmd" и - сценарий REXX, который установит значение по умолчанию MySQL параметры настройки защиты и создаст значки Оболочки Рабочего места для MySQL.

Динамическая модульная поддержка откомпилирована в, но не полностью проверенный. Динамические модули должны быть откомпилированы, используя Pthreads библиотеку поддержки.

 Gcc -Zdll -Zmt -Zcrtdll=pthrdrtl -I ../include -I ../regex -I .. \ -o пример udf_example.cc -L ../lib -lmysqlclient udf_example.defmv example.dll example.udf

Обратите внимание: из-за ограничений в OS/2, UDF модульные основы названия(имени) не должен превысить 8 символов. Модули сохранены в "/mysql2/udf" каталоге; сейф - mysqld.cmd сценарий поместит этот каталог в BEGINLIBPATH переменную среды. При использовании UDF модули, указанные расширения(продления) игнорируются - принято быть ".udf". Например, в Unix, общедоступный модуль мог бы быть назван "example.so", и Вы загрузите функцию от этого подобно этому:

 СОЗДАЙТЕ ФУНКЦИЮ metaphon, ВОЗВРАЩЕНИЯ НАТЯГИВАЮТ SONAME "example.so";

Является OS/2, модуль был бы назван "example.udf", но Вы не будете определять модульное расширение(продление):

 СОЗДАЙТЕ ФУНКЦИЮ metaphon, ВОЗВРАЩЕНИЯ НАТЯГИВАЮТ SONAME "пример";

4.14 TcX binaries

Как обслуживание(служба), TcX обеспечивает набор двоичных распределений MySQL, которые откомпилированы в TcX или в узлах, где заказчики любезно дали нам доступ к их машинам.

Эти распределения сгенерированы с scripts/make_binary_distribution и конфигурированы со следующими компиляторами и параметрами:

SunOS 4.1.4 2 sun4c с gcc 2.7.2.1
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql - отключать - общедоступный
SunOS 5.5.1 sun4u с egcs 1.0.3a
CC=gcc CFLAGS = "-O6 -fomit-frame-pointer " CXX=gcc CXXFLAGS = "-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti " ./configure - префикс =/usr/local/mysql - " с низкой памятью "
SunOS 5.6 sun4u с egcs 2.90.27
CC=gcc CFLAGS = "-O6 -fomit-frame-pointer " CXX=gcc CXXFLAGS = "-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti " ./configure - префикс =/usr/local/mysql - " с низкой памятью "
SunOS 5.6 i86pc с gcc 2.8.1
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql - " с низкой памятью "
Linux 2.0.33 i386 с pgcc 2.90.29 (egcs 1.0.3a)
CFLAGS = "-O6 -mpentium -mstack-align-double -fomit-frame-pointer " CXX=gcc CXXFLAGS = "-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti " ./configure - префикс =/usr/local/mysql - допу - ассемблер - with-mysqld-ldflags =-all-static
SCO 3.2v5.0.4 i386 с gcc 2.7-95q4
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
AIX 2 4 с gcc 2.7.2.2
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
OSF1 V4.0 564 альфа с gcc 2.8.1
CC=gcc CFLAGS =-O CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql - " с низкой памятью "
Irix 6.3 IP32 с gcc 2.8.0
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
BSDI BSD/OS 3.1 i386 с gcc 2.7.2.1
CC=gcc CXX=gcc CXXFLAGS =-O ./configure - префикс =/usr/local/mysql
BSDI BSD/OS 2.1 i386 с gcc 2.7.2
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql

Любой, кто имеет более оптимальные параметры для любой из конфигураций, перечисленных выше, может всегда отправлять им к списку адресатов разработчика в

Распределения ОБОРОТА В МИНУТУ до MySQL 3.22 пожертвованные пользователем. При начале с 3.22, некоторые ОБОРОТЫ В МИНУТУ TcX-генерир.

4.15 Пост-инсталляционная установка и испытание

Как только вы установили MySQL (или от двоичного или исходного распределения), Вы должны инициализировать таблицы предоставления, запускать сервер и удостовериться, что сервер работает хорошо. Вы можете также желать принять меры, чтобы сервер был начат и остановлен автоматически когда ваши системные запуски и закрываете.

Обычно Вы устанавливаете таблицы предоставления и запускаете сервер подобно этому для инсталляции от исходного распределения:

 Оболочка > ./scripts/mysql_install_dbshell > cd mysql_installation_directoryshell > ./bin/safe_mysqld и

Для двоичного распределения, делайте это:

 Оболочка > cd mysql_installation_directoryshell > ./bin/mysql_install_dbshell > ./bin/safe_mysqld и

Испытание наиболее легко сделано от каталога верхнего уровня MySQL распределения. Для двоичного распределения, это - ваш инсталляционный каталог (типично кое-что вроде "/usr/local/mysql"). Для исходного распределения, это - главный каталог вашего MySQL исходного дерева.

В командах, показанных ниже в этом разделе и в следующих подразделах, BINDIR - путь к расположению, в которое программы подобно mysqladmin и safe_mysqld установлены. Для двоичного распределения, это - каталог "лотка" в пределах распределения. Для исходного распределения, BINDIR - вероятно "/usr/local/bin", если Вы не определили инсталляционный каталог другой чем "/usr/local", когда Вы выполнили выбор конфигурации. EXECDIR - расположение, в которое mysqld сервер установлен. Для двоичного распределения, это - тот же самый как BINDIR. Для исходного распределения, EXECDIR - вероятно "/usr/local/libexec".

Испытание описано подробно ниже:

  1. В случае необходимости, запустите mysqld сервер, и установите начальные таблицы предоставления MySQL, содержащие привилегии, которые определяют, как пользователям позволяют соединиться с сервером. Это обычно сделается со сценарием mysql_install_db:
     Оболочка > scripts/mysql_install_db
    Как правило, mysql_install_db должен быть выполнен только первый раз, когда Вы устанавливаете MySQL. Поэтому, если Вы модернизируете существующую инсталляцию, Вы можете пропускать этот шаг. (Однако, mysql_install_db - весьма сейф, чтобы использовать и не будет обновлять(модифицировать) никакие таблицы, которые уже существуют, так если Вы неуверены, что делать, Вы можете всегда выполнять mysql_install_db.) mysql_install_db создает шесть таблиц (пользователь, db, главный компьютер, tables_priv, columns_priv и func) в mysql базе данных. Описание начальных привилегий дается в разделе 6.12 Установку начальных MySQL привилегий. Кратко, эти привилегии позволяют MySQL, укореняются(внедряют) пользователя, чтобы делать что - нибудь, и позволять любому создавать или использовать базы данных с названием(именем) 'испытания' или запускающий с ' испытание _ '. Если Вы не устанавливаете таблицы предоставления, следующая ошибка будет появляться в журнале, когда Вы запускаете сервер:
     Mysqld: Не может находить файл: 'host.frm'
    Вышеупомянутое может также случается с двоичным MySQL распределением, если Вы не запускаете MySQL, выполняясь точно ./bin/safe_mysqld! Вы могли бы были бы должны выполнить mysql_install_db как корень. Однако, если Вы предпочитаете, Вы можете выполнять MySQL сервер как непривилегированный (не-корневой) пользователь, при условии, что пользователь может читать и записывать файлы в каталоге базы данных. Команды для выполнения MySQL как непривилегированный пользователь даются в разделе 19.8, как выполнить MySQL как нормальный пользователь. Если Вы имеете проблемы с mysql_install_db, см. раздел 4.15.1 Проблемы при выполнении mysql_install_db. Имеются некоторые альтернативы к выполнению сценария mysql_install_db, поскольку это обеспечивается в MySQL распределении: Для получения дополнительной информации относительно этих альтернатив, см. раздел 6.12 Установка начальных MySQL привилегий.
  2. Запустите MySQL сервер подобно этому:
     Оболочка > cd mysql_installation_directoryshell > bin/safe_mysqld и
    Если Вы имеете проблемы при старте сервера, см. раздел 4.15.2 Проблемы при старте MySQL сервера.
  3. Используйте mysqladmin, чтобы проверить, что сервер выполняется. Следующие команды обеспечивают простое испытание, чтобы проверить(отметить), что сервер и отвечает на подключения:
     Оболочка > BINDIR/mysqladmin versionshell > BINDIR/mysqladmin переменные
    Вывод от mysqladmin версии изменяется слегка в зависимости от вашей платформы и версии MySQL, но должен быть подобен показанному ниже:
     Оболочка > BINDIR/mysqladmin versionmysqladmin Версия 6.3 Distrib с 3.22.9 бетой, для pc-linux-gnu на i686TCX Datakonsult AB, MontyServer версией 10Connection версии 3.22.9-betaProtocol Localhost через UNIX socketTCP порт 3306UNIX разъем /tmp/mysql.sockUptime: 16 secRunning тематики: 1 Вопросы: 20 Перезагрузок: 2 Открытых таблицы: 3
    Чтобы добраться сочувствие, что еще Вы можете делать с BINDIR/MYSQLADMIN, вызывает это с - опция справки.
  4. Проверите, что Вы можете завершать сервер:
     Оболочка > BINDIR/mysqladmin -u внедряет завершение
  5. Проверите, что Вы можете перезапускать сервер. Делайте это использование safe_mysqld или, вызывая mysqld непосредственно. Например:
     Оболочка > BINDIR/safe_mysqld - регистрирует и
    Если сбои safe_mysqld, пробуйте выполнить это от каталога инсталляции MySQL (если Вы не уже там). Если это не работает, см. раздел 4.15.2 Проблемы при старте MySQL сервера.
  6. Выполните некоторые простые испытания, чтобы проверить, что сервер работает. Вывод должен быть подобен тому, что показывается ниже:
     Оболочка > BINDIR/mysqlshow + ----------- + | Базы данных | + ----------- + | mysql | + ----------- +shell > BINDIR/mysqlshow mysqlDatabase: mysql + -------------- + | Таблицы | + -------------- + | columns_priv || db || func || главный компьютер || tables_priv || пользователь | + -------------- +shell > BINDIR/mysql -e " выбирают главный компьютер, db, пользователь от db " mysql + ------ + -------- + ------ + | главный компьютер | db | пользователь | + ------ + -------- + ------ + | % | испытание | || % | испытание _ % | | + ------ + -------- + ------ +
    Имеется также эталонный набор программ в каталоге "sql-места для размещения элемента" (под каталогом инсталляции MySQL) что Вы можете использовать, чтобы сравниться, как MySQL исполняет на различных платформах. " Каталог sql-bench/Results' содержит следствия, которые многие выполняют против различных баз данных и платформ. Чтобы выполнять все испытания, выполните эти команды:
     Оболочка > cd sql-benchshell > run-all-tests
    Если Вы не имеете каталог "sql-места для размещения элемента", Вы вероятно используете ОБОРОТ В МИНУТУ для двоичного распределения. (Исходные дистрибутивные ОБОРОТЫ В МИНУТУ включают эталонный каталог.) В этом случае(регистре), Вы должны сначала установить эталонный набор программ прежде, чем Вы можете использовать это. При начале с MySQL 3.22, имеются эталонные файлы ОБОРОТА В МИНУТУ, названные "mysql-bench-VERSION-i386.rpm", которые содержат эталонный код и данные. Если Вы имеете исходное распределение, Вы можете также выполнять испытания в " подкаталог испытаний. Например, чтобы выполниться " auto_increment.tst ', делайте это:
     Оболочка > BINDIR/mysql -vvf проверяет < ./tests/auto_increment.tst
    Ожидаемые результаты показываются в " ./tests/auto_increment.res' файл.

4.15.1 Проблемы при выполнении mysql_install_db

Этот раздел перечисляет проблемы, с которыми Вы могли бы сталкиваться, когда Вы выполняете mysql_install_db:

Mysql_install_db не устанавливает таблицы предоставления
Вы можете находить, что mysql_install_db будет не в состоянии устанавливать таблицы предоставления и заканчивается после отображения следующих сообщений:
 Старт mysqld daemon с базами данных от XXXXXXMYSQL daemon законченный
В этом случае(регистре), Вы должны исследовать журнал очень тщательно! Файл регистрации должен быть расположен в `XXXXXX' каталога, названном сообщением об ошибках, и должен указать, почему mysqld не начинался. Если Вы не понимаете то, что случалось, включите файл регистрации, когда Вы переносите сообщение ошибки(дефекта), используя mysqlbug! См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы.
Имеется уже mysqld daemon выполнение
В этом случае(регистре), Вы имеете, вероятно не должны выполнить mysql_install_db вообще. Вы должны выполнить mysql_install_db только однажды, когда Вы устанавливаете MySQL первый раз.
Установка секунды mysqld daemon не работает, когда один daemon выполняется
Это может случаться, когда Вы уже имеете существующую инсталляцию MySQL, но хотите поместить новую инсталляцию в различное место (например, для испытания, или возможно Вы просто хотите выполнить две инсталляции в то же самое время). Вообще проблема, которая происходит, когда Вы пробуете выполнить второй сервер, состоит в том, что это пробует использовать тот же самый разъем и порт как старый. В этом случае(регистре) Вы получите сообщение об ошибках: Не может запускать сервер: Свяжите на TCP/IP порте: Адрес уже в использовании или Не может запускать сервер: Свяжите на unix разъеме ..., Вы можете запускать новый сервер с различного разъема и порта следующим образом:
 Оболочка > MYSQL_UNIX_PORT=/tmp/mysqld-new.sockshell > MYSQL_TCP_PORT=3307shell > экспортирует MYSQL_UNIX_PORT MYSQL_TCP_PORTshell > scripts/mysql_install_dbshell > bin/safe_mysqld и
После этого, Вы должны редактировать ваш сценарий начальной загрузки сервера, чтобы запустить, и daemons с различных разъемов и портов. Например, это могло вызывать safe_mysqld дважды(вдвое), но с различным - разъем, - порт и - basedir параметры для каждого обращения.
Вы не имеете доступ для записи к "/tmp"
Если Вы не имеете доступ для записи, чтобы создать файл разъема в заданном по умолчанию месте (в "/tmp") или разрешении создать временные файлы в " /tmp, ' Вы получите ошибку при выполнении mysql_install_db или при старте или использовании mysqld. Вы можете определить различный разъем и временный каталог следующим образом:
 Оболочка > TMPDIR =/some_tmp_dir/shell > MYSQL_UNIX_PORT=/some_tmp_dir/mysqld.sockshell > экспортирует TMPDIR MYSQL_UNIX_PORT
"Some_tmp_dir" должен быть путь к некоторому каталогу, для которого Вы имеете разрешение записи. После этого Вы должны быть способны выполнить mysql_install_db и запускать сервер с этих команд:
 Оболочка > scripts/mysql_install_dbshell > BINDIR/safe_mysqld и
Mysqld терпит крах немедленно
Если Вы выполняете RedHat 5.0 с версией glibc старшего чем 2.0.7-5, Вы должны удостовериться, что Вы установили все заплаты glibc! Имеются много информации относительно этого в архиве почты MySQL. Связи(ссылки) к архиву почты доступны в сетевой MySQL документационной странице. Также, см. раздел 4.11.5 Linux примечания (все Linux версии). Вы можете также запускать mysqld, вручную использующий - skip-grant-tables опция и добавлять информацию привилегии, самостоятельно использующую mysql:
 Оболочка > BINDIR/safe_mysqld - skip-grant-tables &shell > BINDIR/mysql -u внедряет mysql
От mysql, вручную выполняют команды SQL в mysql_install_db. Удостоверитесь, что Вы выполняете mysqladmin привилегии сброса или перезагрузку mysqladmin позже, чтобы сообщить серверу перезагружать таблицы предоставления.

4.15.2 Проблемы при старте MySQL сервера

Вообще, Вы запускаете mysqld сервер способом из трех путей:

Какой бы ни метод, который Вы используете, чтобы запустить сервер, если это будет не в состоянии запускать правильно, проверяет(отмечает) журнал, чтобы видеть, можете ли Вы выяснять почему. Журналы расположены в словаре базы данных (типично "/usr/local/mysql/data" для двоичного распределения, "/usr/local/var" для исходного распределения), "\mysql\mysql.err" на Windows. Просмотр в словаре базы данных для файлов с названиями(именами) формы "host_name.err" и "host_name.log", где host_name - название(имя) вашего главного компьютера сервера. Тогда проверьте(отметьте) последние(прошлые) немногие строки этих файлов:

 Оболочка > хвост host_name.errshell > хвост host_name.log

Когда mysqld daemon начинается, это изменяет(заменяет) каталог к словарю базы данных. Это - то, где это ожидает записывать журналы и pid (чтобы обработать ИДЕНТИФИКАТОР) файл, и где это ожидает находить базы данных.

Расположение словаря базы данных аппаратно в том, когда распределение откомпилировано. Однако, если mysqld ожидает находить словарь базы данных где-нибудь другим чем то, где это действительно находится на вашей системе, это не будет работать должным образом. Если Вы имеете проблемы с неправильными путями, Вы можете выяснять то, какой параметры mysqld позволяют и что заданные по умолчанию параметры настройки пути являются вызывая mysqld с - опцией справки. Вы можете отменять значения по умолчанию, определяя правильные имена пути как параметры командной строки к mysqld. (Эти параметры могут использоваться с safe_mysqld также.)

Обычно Вы должны были должны сообщить mysqld только основной каталог, под которым MySQL установлен. Вы можете делать это с - basedir опция. Вы можете также использовать - помогают проверять(отмечать) эффект изменяющихся параметров пути (обратите внимание, что - помогают, должен быть конечная(заключительная) опция mysqld команды). Например:

 Оболочка > EXECDIR/mysqld - basedir =/usr/local - справка

Как только Вы определяете параметры настройки пути, Вы хотите, запускаете сервер без - опция справки.

Если Вы получаете следующую ошибку, это означает, что некоторая другая программа (или другой mysqld сервер) уже использует TCP/IP порт, или разъем mysqld пробует использовать:

 Не может запускать сервер: Свяжите на TCP/IP порте: Адрес уже в использовании orCan't запускает сервер: Свяжите на unix разъеме ...

Используйте ps, чтобы удостовериться, что Вы не имеете другое mysqld выполнение сервера. Если Вы не можете находить другое выполнение сервера, Вы можете пробовать выполнить telnet команды " ваше название(имя) хозяина " tcp-ip-port-number и нажмите клавишу возврата пара времен. Если Вы не получаете сообщение об ошибках подобно telnet: Неспособный соединяться с отдаленным главным компьютером: Подключение отказалось, кое-что использует TCP/IP порт mysqld, пробует использовать. См. раздел 4.15.1 Проблемы при выполнении mysql_install_db, и раздел 20.3, выполняющий множитель MySQL серверы на той же самой машине.

Сценарий safe_mysqld написан так, чтобы обычно было способно запустить сервер, который был установлен или от источника или двоичной версии MySQL, даже если они устанавливают сервер в слегка различные расположения. Safe_mysqld ожидает одно из этих условий(состояний) быть истинным:

С тех пор safe_mysqld будет пробовать найти сервер и базы данных относительно его собственного рабочего каталога, Вы можете устанавливать двоичное распределение MySQL где-нибудь, пока Вы запускаете safe_mysqld с каталога инсталляции MySQL:

 Оболочка > cd mysql_installation_directoryshell > bin/safe_mysqld и

Если сбои safe_mysqld, даже когда вызвано от каталога инсталляции MySQL, Вы можете изменять это, чтобы использовать путь к mysqld и параметрам имени пути, которые являются правильными для вашей системы. Обратите внимание, что, если Вы модернизируете MySQL в будущем, ваша изменяемая версия safe_mysqld будет записана поверх, так что Вы должны делать копию вашей отредактированной версии, что Вы можете повторно устанавливать.

Если mysqld выполняется в настоящее время, Вы можете выяснять то, какие параметры настройки путем это использует, выполняясь эту команду:

 Оболочка > mysqladmin variablesorshell > mysqladmin -h переменные " ваш хозяин называет "

Если safe_mysqld начинает сервер, но Вы не можете соединяться с этим, Вы должны удостовериться, что Вы имеете вход в " /etc/hosts', который напоминает это:

 127.0.0.1 Localhost

Эта проблема происходит только на системах, которые не имеют рабочую библиотеку тематик и для которого MySQL должен быть конфигурирован, чтобы использовать MIT-PTHREADS.

На Windows, Вы можете пробовать запустить mysqld следующим образом:

  C:\mysql\bin\mysqld - автономный - отладка

Это не будет бежать, на заднем плане и это должно также записать след в "\mysqld.trace", который может помогать Вам определить источник ваших проблем. См. раздел 4.12 Win32 примечания.

4.15.3 Старт и остановка MySQL автоматически

Сценарий mysql.server может использоваться, чтобы запускать или остановить сервер, вызывая это с параметрами останова или началом:

 Оболочка > mysql.server startshell > mysql.server останов

Mysql.server может быть найден в "share/mysql" каталоге под каталогом инсталляции MySQL, или в " каталог поддержки - files' MySQL исходного дерева.

Прежде mysql.server начинает сервер, это изменяет(заменяет) каталог к каталогу инсталляции MySQL, затем вызывает safe_mysqld. Вы могли бы были бы должны редактировать mysql.server, если Вы имеете двоичное распределение, которое вы установили в ненормативное расположение. Измените это к cd в надлежащий каталог прежде, чем это выполняет safe_mysqld. Если Вы хотите, чтобы сервер выполнил так некоторого определенного пользователя, Вы можете изменять(заменять) строку mysql_daemon_user=root, чтобы использовать другого пользователя. Вы можете также изменять mysql.server, чтобы передать другие параметры к safe_mysqld.

Mysql.server останов сбивает сервер, посылая сигнал к этому. Вы можете разбирать сервер вручную, выполняя mysqladmin завершение.

Вы могли бы хотеть добавить это начало и команды останова к соответствующим местам в вашем " /etc/rc * ' файлы, когда Вы начинаете использовать MySQL для промышленных приложений. Обратите внимание, что, если Вы изменяете mysql.server, затем, если Вы модернизируете MySQL когда-нибудь, ваша изменяемая версия будет записана поверх, так что Вы должны делать копию вашей отредактированной версии, что Вы можете повторно устанавливать.

Если ваши системные использования "/etc/rc.local", чтобы запустить внешние сценарии, Вы добавили в конец следующий к этому:

 /bin/sh -c ' cd /usr/local/mysql; ./bin/safe_mysqld &' 

Вы можете также добавлять параметры для mysql.server в глобальной переменной "/etc/my.cnf" файл. Типичный "/etc/my.cnf" файл мог бы выглядеть следующим образом:

 [ mysqld]datadir=/usr/local/mysql/varsocket=/tmp/mysqld.sockport=3306[mysql.server]user=mysqlbasedir=/usr/local/mysql 

Сценарий mysql.server использует следующие переменные: пользователь, datadir, basedir, bindir и id-регистрировать.

См. раздел 4.15.4 файла Опции.

4.15.4 Файлы Опции

MySQL 3.22 может читать заданные по умолчанию параметры запуска для сервера и для клиентуры от файлов опции.

MySQL читает опции по умолчанию от следующих файлов на Unix:

Имя файла Цель
/etc/my.cnf Глобальные параметры
DATADIR/my.cnf Сервер-определенные параметры
~ /.my.cnf Определенные пользователем параметры

DATADIR - MySQL словарь базы данных (типично "/usr/local/mysql/data" для двоичной инсталляции, или "/usr/local/var" для исходной инсталляции). Обратите внимание, что это - каталог, который был определен в конфигурации время, не тот, указанный с - datadir, когда mysqld начинается! (- datadir не имеет никакого эффекта на то, где сервер ищет файлы опции, потому что это ищет их прежде, чем это обрабатывает любые параметры командной строки.)

MySQL читает опции по умолчанию от следующих файлов на Win32:

Имя файла Цель
windows-system-directory\my.ini
C:\my.cnf Глобальные параметры
C:\mysql\data\my.cnf Сервер-определенные параметры

Обратите внимание, что Вы на Win32 должны определить все пути с / вместо \. Если Вы используете \, Вы должны определить это дважды(вдвое), поскольку \ - символ ESC в MySQL.

MySQL пробует читать файлы опции в порядке, перечисленном выше. Если множественные файлы опции существуют, опция, указанная в файле читает, позже имеет приоритет по той же самой опции, указанной в чтении файла ранее. Параметры, указанные на командной строке имеют приоритет по параметрам, указанным в любом файле опции. Некоторые параметры могут быть определены, используя переменные среды. Параметры, указанные на командной строке или в файлах опции имеют приоритет по значениям переменной среды.

Следующие программы поддерживают файлы опции: mysql, mysqladmin, mysqld, mysqldump, mysqlimport, mysql.server, myisamchk и myisampack.

Вы можете использовать файлы опции, чтобы определить любую длинную опцию, которую программа поддерживает! Выполнитесь программа с - помогает получать список доступных параметров.

Файл опции может содержать строки следующих форм:

#comment
Строки Комментария начинаются с `# 'Или'; '. Пустые строки игнорируются.
[Группа]
Группа - название(имя) программы или группы, для которой Вы хотите установить параметры. После строки группы, любая опция или строки переменной набора обращается к названной группе, пока конец файла опции или другой строки группы не дается.
Опция
Это эквивалентно - опция на командной строке.
Option=value
Это эквивалентно - option=value на командной строке.
Переменная набора = variable=value
Это эквивалентно - переменная набора variable=value на командной строке. Этот синтаксис должен использоваться, чтобы установить mysqld переменную.

Группа клиентов позволяет Вам определять параметры, которые обращаются к всей MySQL клиентуре (не mysqld). Это - совершенная группа, чтобы использовать, чтобы определить пароль, который Вы используете, чтобы соединиться с сервером. (Но удостоверитесь, что файл опции читаем и перезаписываем только к вам непосредственно.)

Обратите внимание, что для параметров и значений, все продвижение и конечные пробелы автоматически удалено. Вы можете использовать управляющие последовательности "\b, "\t", "\n", "\r", "\\" и " \s' в вашей строке значения (" \s' == пробел).

Имеется типичная глобальная опция file:

 [ client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306socket=/tmp/mysql.sockset-variable = key_buffer=16Mset-variable = max_allowed_packet=1M [mysqldump] быстрый

Имеется типичная опция пользователя file:

 [ client]# Следующий пароль будет послан всему стандарту MySQL clientspassword=my_password[mysql]no-auto-rehash 

Если Вы имеете исходное распределение, Вы найдете типовой файл конфигурации, названный "my-example.cnf" в " каталог поддержки - files'. Если Вы имеете двоичное распределение, просмотр в каталоге `DIR/share/mysql`, где ДИРЕКТОР - имя пути к каталогу инсталляции MySQL (типично " /usr/local/mysql '). Вы можете копировать " my-example.cnf ' к вашему основному каталогу (переименуйте копию к " .my.cnf ') чтобы экспериментировать с.

Чтобы сообщить программе MySQL не читать любые файлы опции, определите - no-defaults как первая опция на командной строке. Это ДОЛЖНО БЫТЬ первая опция, или это не будет иметь никакого эффекта! Если Вы хотите проверить(отметить), которые параметры используются, Вы можете давать опцию - значения по умолчанию печати как первая опция.

Если Вы хотите вынудить использование определенного файла конфигурации, Вы можете использовать опцию - defaults-file=full-path-to-default-file. Если Вы делаете это, только указанный файл будет читаться.

Обратите внимание для разработчиков: обработка файла Опции осуществлена просто, обрабатывая все параметры соответствия (то есть, параметры в соответствующей группе) перед любыми параметрами командной строки. Это работает приятно для программ, которые используют последний(прошлый) образец опции, которая определена множественные времена. Если Вы имеете старую программу, которая обрабатывает умноженные - указанные параметры этот путь, но не читает файлы опции, Вы должны добавить только две строки, чтобы дать этому ту возможность. Проверьте(отметьте) исходный текст любого стандарта MySQL клиентура, чтобы видеть, как делать это.

4.16 Что - нибудь имеется специальный, чтобы делать при обновлении / понижении MySQL?

Вы можете всегда перемещать форму MySQL и файлы данных между различными версиями на той же самой архитектуре, пока Вы имеете ту же самую основную версию MySQL. Текущая основная версия - 3. Если Вы изменяете(заменяете) набор символов, перетранслируя MySQL (который может также изменять(заменять) порядок сортировки), Вы должны выполнить myisamchk -r -q на всех таблицах. Иначе ваши индексы нельзя заказывать(упорядочивать) правильно.

Если Вы параноидальны и-или боящийся новых версий, Вы можете всегда переименовывать ваш старый mysqld к кое-чему подобно mysqld-'old-version-number '. Если ваш новый mysqld тогда делает кое-что неожиданный, Вы можете просто закрывать это и перезапускать с вашим старым mysqld!

Когда Вы делаете обновление, Вы должны также резервировать ваши старые базы данных, конечно. Иногда хорошо быть немного параноидально!

После того, как обновление, если Вы испытываете проблемы с перетранслированными программами клиента, подобно Командам из синхронизирующих или неожиданных основных дампов, Вы вероятно, использовало старый заголовок или библиотечный файл при компилировании ваших программ. В этом случае(регистре) Вы должны проверить(отметить) дату для вашего "mysql.h" файла и "libmysqlclient.a" библиотеки, чтобы проверить, что они - от нового MySQL распределения. Если не, пожалуйста перетранслируйте ваши программы!

Если Вы получаете некоторые проблемы, которые новый mysqld сервер не хочет начаться или что Вы не можете соединяться без пароля, проверьте(отметьте), чтобы Вы не имели некоторый старый "my.cnf" файл от вашей старой инсталляции! Вы можете проверять(отмечать) это с: название программы - значения по умолчанию печати. Если это выводит что - нибудь другой чем название(имя) программы, Вы имеете активный my.cnf файл, который будет может, затрагивают вещи!

Это - хорошая идея восстанавливать и повторно установить Msql-Mysql-modules распределение всякий раз, когда Вы устанавливаете новый выпуск MySQL, особенно, если Вы обращаете внимание на признаки типа всех ваших сценариев DBI, формирующих дамп ядра после того, как Вы модернизируете MySQL.

4.16.1 Обновление от 3.22 версии до 3.23

MySQL 3.23 таблицы поддержек нового типа MyISAM и старого типа ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНОГО МЕТОДА ДОСТУПА. Вы не должны конвертировать(преобразовать) ваши старые таблицы, чтобы использовать их с 3.23. По умолчанию, все новые таблицы будут созданы с типом MyISAM (если Вы не запускаете mysqld с - default-table-type=isam опция. Вы можете изменяться, таблица ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНОГО МЕТОДА ДОСТУПА к MyISAM таблице с ИЗМЕНЯЕТ ТАБЛИЦУ, или Perl пишут сценарий mysql_convert_table_format.

3.22 И 3.21 клиентура будет работать без любых проблем с 3.23 сервером.

Следующие списки, что Вы должны не упустить при обновлении к 3.23:

4.16.2 Обновление от 3.21 версии до 3.22

Ничто, которое воздействует на совместимость, не изменилось между 3.21 и 3.22. Единственная ловушка - то, что новые таблицы, которые созданы со столбцами типа ДАТЫ, будут использовать новый способ хранить дату. Вы не можете обращаться к этим новым полям от старой версии mysqld.

После установки MySQL 3.22, Вы должны запустить новый сервер и затем выполнять сценарий mysql_fix_privilege_tables. Это добавит новые привилегии, что Вы должны использовать команду GRANT. Если Вы забываете это, Вы доберетесь Доступ не разрешен, когда Вы пробуете использовать, ИЗМЕНЯЮТ ТАБЛИЦУ, СОЗДАЮТ ИНДЕКС снижения ИЛИ ИНДЕКС. Если ваш MySQL укореняются, пользователь требует пароля, Вы должны дать это как параметр к mysql_fix_privilege_tables.

Интерфейс API C к mysql_real_connect () изменился. Если Вы имеете старую программу клиента, которая вызывает(называет) эту функцию, Вы должны разместить 0 для нового db параметра (или повторно закодировать клиента, чтобы послать db элемент за более быстрые подключения). Вы должны также вызвать(назвать) mysql_init () перед запросом mysql_real_connect ()! Это изменение(замена) было сделано, чтобы позволить новый mysql_options () функцию сохранять параметры в MYSQL структуре обработчика.

4.16.3 Обновление от 3.20 версии до 3.21

Если Вы выполняете версию старшее чем 3.20.28 и хотите переключить к 3.21.x, Вы должны делать следующее:

Вы можете запускать mysqld 3.21 сервер с safe_mysqld - старый протокол, чтобы использовать это с клиентурой от 3.20 распределения. В этом случае(регистре), новая функция mysql_errno клиента () не будет возвращать никакую ошибку сервера, только CR_UNKNOWN_ERROR, (но это работает для ошибок клиента) и сервер использует старый пароль () проверяющий скорее чем новый.

Если Вы не используете - опцию с старым протоколом к mysqld, Вы будете должны делать следующие изменения(замены):

MySQL 3.20.28 и выше может обрабатывать новый формат таблицы пользователя без того, чтобы воздействовать на клиентуру. Если Вы имеете MySQL версию ранее чем 3.20.28, пароли больше не будут работать с этим, если Вы конвертируете(преобразовываете) таблицу пользователя. Так быть безопасный, Вы должны сначала модернизировать к по крайней мере 3.20.28 и затем модернизировать к 3.21.x.

Новый клиент закодирует работы с 3.20.x mysqld сервер, так, если Вы испытываете проблемы с 3.21.x, Вы можете использовать старый 3.20.x сервер без того, чтобы иметь необходимость перетранслировать клиентуру снова.

Если Вы не используете - опция с старым протоколом к mysqld, старая клиентура выпустит сообщение об ошибках:

 ОШИБКА: несоответствие Протоколов. Версия Сервера = 10 Версии Клиента = 9

Новый Perl DBI/DBD интерфейс также поддерживает старый интерфейс mysqlperl. Единственное изменение(замена), которое Вы должны делать, если Вы используете mysqlperl, должно изменить(заменить) параметры к подключаемому () функция. Новые параметры: главный компьютер, база данных, пользователь, пароль (пользователь и параметры пароля изменил(заменил) места). См. раздел 21.5.2 интерфейс DBI.

Следующие изменения(замены) могут затрагивать запросы в старых приложениях:

4.16.4 Обновление к другой архитектуре

Если Вы используете MySQL 3.23, Вы можете копировать .frm, .MYI и .MYD файлы между различным architectures, которые поддерживают тот же самый формат с плавающей запятой. (MySQL заботится о любом байте подкачка проблем(выпусков)).

MySQL данные ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНОГО МЕТОДА ДОСТУПА "*.ISD" и индексные файлы "*.ISM" файлы) архитектурно-зависимы и в некотором случае(регистре) OS-зависимый. Если Вы хотите переместить ваши приложения в другую машину, которая имеет различную архитектуру или OS чем ваша текущая машина, Вы не должны пробовать переместить базу данных, просто копируя файлы на другую машину. Используйте mysqldump вместо этого.

По умолчанию, mysqldump создаст файл, полный инструкциями SQL. Вы можете тогда передавать(перемещать) файл другой машине и подавать это как ввод mysql клиенту.

Попытка mysqldump - помогает видеть то, что параметры являются доступными. Если Вы перемещаете данные к более новой версии MySQL, Вы должны использовать mysqldump - решат с более новой версией получать быстрый, компактный дамп.

Самый простой (хотя не самый быстрый) способ перемещать базу данных между двумя машинами состоит в том, чтобы выполнить следующие команды на машине, на которой база данных расположена:

 Оболочка > mysqladmin -h ' другое имя хоста ' создает db_nameshell > mysqldump - выбирают db_name \ | mysql -h ' другое имя хоста ' db_name

Если Вы хотите копировать базу данных с отдаленной машины по медленной сети, Вы можете использовать:

 Оболочка > mysqladmin создает db_nameshell > mysqldump -h ' другое имя хоста ' - выбирают - сжимают db_name \ | mysql db_name

Вы можете также хранить результат в файле, затем передавать(перемещать) файл целевой машине и загружать файл в базу данных там. Например, Вы можете убирать базу данных к файлу на исходной машине подобно этому:

 Оболочка > mysqldump - быстрый db_name | gzip > db_name.contents.gz

( Файл, созданный в этом примере сжат.) Передают(перемещают) файл, содержащий содержание базы данных на целевую машину и выполняют эти команды туда:

 Оболочка > mysqladmin создает db_nameshell > gunzip < db_name.contents.gz | mysql db_name

Вы можете также использовать mysqldump и mysqlimport, чтобы выполнить передачу(перемещение) базы данных. Для больших таблиц, это - намного быстрее чем просто использование mysqldump. В командах, показанных ниже, DUMPDIR представляет полное имя пути каталога, который Вы используете, чтобы хранить вывод от mysqldump.

Сначала, создайте каталог для выходных файлов, и уберите базу данных:

 Оболочка > mkdir DUMPDIRshell > mysqldump - tab=DUMPDIR db_name

Тогда передайте(переместите) файлы в каталоге DUMPDIR к некоторому соответствующему каталогу на целевой машине, и загрузите файлы в MySQL там:

 Оболочка > mysqladmin создает db_name #, создают databaseshell >, сенсорный манипулятор "кошка" DUMPDIR/*.sql | mysql db_name # Создает таблицы в databaseshell > mysqlimport db_name DUMPDIR/*.txt # Данные загрузки в таблицы

Также, не забудьте копировать mysql базу данных, так как это - то, где таблицы предоставления (пользователь, db, главный компьютер) сохранены. Вам, вероятно, придется команды запуска, поскольку MySQL внедряют пользователя на новой машине, пока Вы не имеете mysql базу данных на месте

После того, как Вы импортируете mysql базу данных на новой машине, выполните mysqladmin привилегии сброса так, чтобы сервер перезагрузил информацию таблицы предоставления.


Идите к первому, предыдущему, затем, последний(прошлый) раздел, оглавление.