Эта глава описывает, как получить и установить MySQL:
Проверьте(отметьте) MySQL домашнюю страницу для информации относительно текущей версии и для загрузки команд.
Однако, подключение Internet в TcX - не столь быстро; мы предпочли бы, что Вы делаете фактическую загрузку от одного из зеркальных узлов, перечисленных ниже.
Пожалуйста сообщите о плохих или устаревших зеркалах к webmaster@mysql.com.
Европа:
Северная Америка:
Южная Америка:
Азия:
Австралия:
Африка:
Мы используем GNU Autoconf, так что это возможно к порту MySQL к всем современным системам с работой Posix тематики и компилятор C++. (Чтобы компилировать только код клиента, компилятор C++ требуется, но не тематики.) Мы используем и разрабатываем программное обеспечение самостоятельно прежде всего на Солнце Solaris (версии 2.5 и 2.6) и к меньшей степени на RedHat Linux 5.0.
MySQL, как сообщали, компилировал sucessfully на следующих комбинациях пакетов / тематик операционных систем. Обратите внимание, что для многих операционных систем, родная тематика поддерживает работы только в самых последних версиях.
glibc
2.0.7
Первое решение делать состоит в том, хотите ли Вы использовать самый последний выпуск развития или последний(прошлый) устойчивый выпуск:
Второе решение делать состоит в том, хотите ли Вы использовать исходное распределение или двоичное распределение:
MySQL обозначение(перечисление) схемы использует числа(номера) выпуска которые состоят из трех чисел(номеров) и суффикса. Например, название(имя) выпуска подобно mysql-3.21.17-beta
интерпретируется подобно этому:
номер (3
описывает формат файла. Все выпуски версии 3 имеют тот же самый формат файла. Когда версия 4 появляется, каждая таблица будет должна быть преобразована(конвертирована) к новому формату (хорошие инструментальные средства для, это будет включено, конечно).
номер (21
- уровень выпусков. Обычно имеется два, чтобы выбрать из. Каждый - освобожденный / устойчивый переход (в настоящее время 21
) и другой - переход развития (в настоящее время 22
). Обычно оба устойчивы, но версия развития может иметь причуды, пропуская документацию по новым особенностям или может быть не в состоянии компилировать на некоторых системах.
номер (17
- номер версии в пределах уровня выпусков. Это увеличено для каждого нового распределения. Обычно Вы хотите самую последнюю версию для уровня выпусков, Вы имеете choosen.
(бета)
указывает уровень стабильности выпуска. Возможные суффиксы:
Альфа
указывает, что выпуск содержит некоторый большой раздел нового кода, который не был 100 проверенный %. Известные ошибки(дефекты) (обычно там - ни один) не должен быть зарегистрирован в разделе Новостей. См. раздел D MySQL перечень изменений. Имеются также новые команды и расширения(продления) в большинстве алфавитных выпусков. Активное развитие, которое может включать главные изменения(замены) кода, может происходить на алфавитном выпуске, но все будет проверено перед выполнением выпуска. Не должно иметься никаких известных ошибок(дефектов) в любом выпуске MySQL
.
Бета
означает, что весь новый код был проверен. Никакие главные новые особенности, которые могли вызывать искажение на старом коде, не добавлены. Не должно иметься никаких известных ошибок(дефектов). Версия изменяется от альфы до беты, когда не имелись любые сообщенные фатальные ошибки(дефекты) в пределах алфавитной версии для по крайней мере, в месяц и мы не планируем добавлять любые особенности, которые могли делать любую старую команду более ненадежной.
Гамма
- бета, которая была вокруг времени и кажется, работает прекрасный. Только младший устанавливает, добавлены. Это - то, что много других компаний вызывают(называют) выпуск.
Все версии MySQL выполнены через наши стандартные испытания и эталонные тесты, чтобы гарантировать, что они - относительно сейф, чтобы использовать. Так как стандартные испытания расширены(продлены) через какое-то время, чтобы проверить все предварительно найденные ошибки(дефекты), испытательный набор программ продолжает попадать лучше.
Обратите внимание, что все выпуски были проверены по крайней мере с:
Другое испытание - то, что мы используем самый новый MySQL версия в нашей внутренней промышленной среде, на по крайней мере одной машине. Мы имеем больше чем 100 гигабайтов данных, чтобы работать с.
MySQL развивается весьма быстро здесь в TcX, и мы хотим совместно использовать это с другими MySQL пользователями. Мы пробуем делать выпуск, когда мы имеем очень полезные особенности, что другие, кажется, имеют потребность в.
Мы также пробуем помочь из пользователей, кто запрашивают особенности, которые являются простыми осуществить. Мы также принимаем во внимание то, что наши залицензированные пользователи хотят иметь, и мы особенно принимаем во внимание то, из чего наша расширенная(продленная) электронная почта поддержанные заказчики хотят и пробовать помочь им.
Никто не должен загрузить новый выпуск. Раздел Новостей сообщит Вам, если новый выпуск имеет кое-что, что Вы действительно хотите. См. раздел D MySQL перечень изменений.
Мы используем следующую политику(полис) при обновлении MySQL:
Текущий устойчивый выпуск - 3.22; Мы уже переместили активное развитие в 3.23. Ошибки(дефекты) будут все еще устанавливаться в устойчивой версии. Мы не верим на законченном замораживании, поскольку это также уезжает из ошибок и вещей, которые " " должны быть сделаны "." " Несколько закрепляемый " средства, что мы можем добавлять маленькие вещи, которые " " почти конечно не будут затрагивать что - нибудь, это уже работает ".
Этот раздел описывает заданное по умолчанию размещение каталогов, созданных, устанавливая двоичные и исходные распределения.
Двоичное распределение установлено, распаковывая это в инсталляционном расположении, которое Вы выбираете (типично "/usr/local/mysql") и создает следующие каталоги в том расположении:
Каталог | Содержание каталога |
"Лоток" | Программы Клиента и mysqld сервер |
"Данные" | Журналы, базы данных |
"Включить" | Включите файлы (заголовка) |
"Lib" | Библиотеки |
" Сценарии | Mysql_install_db |
"Share/mysql" | Файлы Сообщения об ошибках |
"Sql-место для размещения элемента" | Эталонные тесты |
Исходное распределение установлено после того, как Вы конфигурируете и компилируете это. По умолчанию, инсталляционный шаг устанавливает файлы под "/usr/local", в следующих подкаталогах:
Каталог | Содержание каталога |
"Лоток" | Программы Клиента и сценарии |
"Include/mysql" | Включите файлы (заголовка) |
"Информация" | Документация в формате Info |
"Lib/mysql" | Библиотеки |
"Libexec" | Mysqld сервер |
"Share/mysql" | Файлы Сообщения об ошибках |
"Sql-место для размещения элемента" | Эталонные тесты и испытание " потерпят крах меня " |
"Переменная величина" | Базы данных и журналы. |
В пределах инсталляционного каталога, размещение исходной инсталляции отличается от такового двоичной инсталляции следующими способами:
Mysqld
сервер установлен в "libexec" каталог скорее чем в каталоге "лотка".
Mysql_install_db
установлен в "/usr/local/bin" каталог скорее чем в " /usr/local/mysql/scripts'.
Вы нуждаетесь в следующих инструментальных средствах, чтобы установить MySQL двоичное распределение:
gunzip
, чтобы несжать распределение.
tar
, чтобы распаковать распределение. GNU tar
, как известно, работает.
Альтернативный инсталляционный метод под 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 Пост-инсталляционная установка и испытание, для пост-инсталляционной установки и испытания:
корень
.)
tar
и имеет названия(имена) подобно "mysql-VERSION-OS.tar.gz", где ВЕРСИЯ
- номер (например, 3.21.15
), и OS
указывает тип операционной системы, для которой распределение предназначено (например, pc-linux-gnu-i586
).
Оболочка > gunzip < mysql-VERSION-OS.tar.gz | tar xvf -оболочка > ln -s mysql-VERSION-OS mysqlПервая команда создает каталог, названный " mysql-VERSION-OS'. Вторая команда делает символическую связь(ссылку) к тому каталогу. Это позволяет Вам обращаться(относиться) более легко к инсталляционному каталогу как " /usr/local/mysql '.
Оболочка > cd mysqlВы найдете несколько файлов и подкаталоги в
mysql
каталоге. Наиболее важный для инсталляционных целей - "лоток" и " подкаталоги сценариев. ПУТИ
так, чтобы ваша оболочка нашла программы MySQL должным образом.
mysql_install_db
, имел обыкновение инициализировать разрешения доступа сервера. mysqlaccess
и иметь MySQL распределение в некотором нестандартном месте, Вы должны изменить(заменить) расположение, где mysqlaccess
ожидает находить mysql
клиента. Редактируйте " сценарий bin/mysqlaccess' в приблизительно строке 18. Ищите строку, которая напоминает это:
$MYSQL = '/usr/local/bin/mysql '; # Путь к mysql выполнимой программеИзмените(замените) путь, чтобы отразить расположение, где
mysql
фактически сохранен на вашей системе. Если Вы не делаете этого, Вы получите сломанную(нарушенную)
ошибку канала
, когда Вы выполняете mysqlaccess
.
Оболочка > scripts/mysql_install_dbОбратите внимание, что MySQL версии старшее чем 3.22.10 запустили MySQL сервер, когда Вы выполняете
mysql_install_db
. Это больше не истина!
DBI
/DBD
интерфейс, см. раздел 4.10 комментария инсталляции Perl.
поддержку - files/mysql.server
к расположению, где ваша система имеет ее файлы запуска. Подробная информация может быть найдена в сценарие поддержки - files/mysql.server
непосредственно, и в разделе 4.15.3 Стартом и остановкой MySQL автоматически.
После того, как все было распаковано и установлено, Вы должны инициализировать и проверять ваше распределение.
Вы можете запускать MySQL сервер со следующей команды:
Оболочка > bin/safe_mysqld и
См. раздел 4.15 Пост-инсталляционная установка и испытание.
Рекомендуемый способ устанавливать MySQL на Linux - используя файл ОБОРОТА В МИНУТУ. MySQL ОБОРОТЫ В МИНУТУ в настоящее время формируются на RedHat 5.2 системы, но должны работать на других версиях Linux, которые поддерживают оборот в минуту
и используют glibc
.
Если Вы имеете проблемы с файлом ОБОРОТА В МИНУТУ, например, которому жаль, главный компьютер 'xxxx' нельзя было бы искать
, см. раздел 4.6.3.1 Linux примечания.
Файлы ОБОРОТА В МИНУТУ, которые Вы можете хотеть использовать:
MySQL-VERSION.i386.rpm
MySQL сервер. Вы будете нуждаться в этом, если Вы только не хотите соединиться с другим MySQL сервером, выполняющимся на другой машине.
MySQL-client-VERSION.i386.rpm
стандарт MySQL программы клиента. Вы вероятно всегда хотите установить этот пакет.
MySQL-bench-VERSION.i386.rpm
Испытания и эталонные тесты. Требует Perl и msql-mysql-modules ОБОРОТОВ В МИНУТУ.
MySQL-devel-VERSION.i386.rpm
Библиотеки и файлы для включения, необходимые, если Вы хотите компилировать другую MySQL клиентуру, типа Perl модулей.
MySQL-VERSION.src.rpm
Это содержит исходный текст для всех выше пакетов. Это может также использоваться, чтобы пробовать формировать ОБОРОТЫ В МИНУТУ для другого architectures (например, Альфы или SPARC).
Видеть все файлы в пакете ОБОРОТОВ В МИНУТУ:
Оболочка > оборот в минуту -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 двоичного распределения.
Если Вы компилируете MySQL клиентуру, которую вы написали самостоятельно или что Вы получаете от третьего лица, они должны быть связаны, используя -lmysqlclient
опцию на команде связи(ссылки). Вы могут также были должны определить -L
опцию, чтобы сообщить компоновщику, где найти библиотеку. Например, если библиотека установлена в "/usr/local/mysql/lib", использование -L/usr/local/mysql/lib -lmysqlclient
на команде связи(ссылки).
Для клиентуры, которая использует MySQL файлы заголовка, Вы могут были должны определить -I
опцию, когда Вы компилируете их (например, -I/usr/local/mysql/include
), так что компилятор может находить файлы заголовка.
Следующие разделы указывают некоторых из проблем(выпусков), которые наблюдал(соблюдал), чтобы произойти на специфических системах при установке MySQL от двоичного распределения.
MySQL нуждается по крайней мере Linux 2.0.
Двоичный выпуск связан с -статическим
, что означает, что Вы не обычно не должны волноваться, относительно которой версии системных библиотек Вы имеете. Вы не должны установить LinuxThreads, также. Программа, связанная с -статическим
слегка большая чем динамически-связанная программа но также и слегка быстрее (3-5 %). Одна проблема однако состоит в том, что Вы не можете использовать определяемые пользователем функции (UDFs) со статически-связанной программой. Если Вы собираетесь записывать или использовать функции UDF (это - кое-что только для C, или программисты C++) Вы должны компилировать MySQL самостоятельно, используя динамическую связь.
Если Вы используете libc-основанную
систему (вместо glibc2
системы), Вы вероятно получите некоторые проблемы с решением имени хоста и getpwnam () с двоичным выпуском. (Это - то, потому что glibc
к сожалению зависит от некоторых внешних библиотек, чтобы решить имена хоста и getwpent (), даже когда откомпилировано с -статическим
). В этом случае(регистре) Вы вероятно получаете следующее сообщение об ошибках, когда Вы выполняете mysql_install_db
:
Жаль, главный компьютер 'xxxx' нельзя было бы искать
Или следующая ошибка, когда Вы пробуете выполнить mysqld с -
опция пользователя
:
Getpwnam: Никакой такой файл или каталог
Вы можете решить эту проблему один из следующих путей:
tar
) и установите это вместо этого.
mysql_install_db - сила
; Это не будет выполнять испытание resolveip
в mysql_install_db
. Нижняя сторона - то, что Вы не можете использовать имена хоста в таблицах предоставления; Вы должны использовать IP числа(номера) вместо этого (если бы не localhost
). Если Вы используете старый выпуск MySQL, который не поддерживает - силу
, Вы должны удалить испытание resolveip
в mysql_install
с редактором.
su
вместо использования - пользователь
.
Linux-Intel двоичный и выпуски ОБОРОТА В МИНУТУ MySQL конфигурированы для самого высокого возможного быстродействия. Мы всегда пробуем использовать самый быстрый устойчивый доступный компилятор.
MySQL Perl поддержка требует Perl 5.004_03 или более новый.
Некоторые из двоичных распределений 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:
Оболочка > /usr/sbin/swinstall -s /path/to/depot mysql.full
Оболочка > /usr/sbin/swinstall -s /path/to/depot mysql.server
Оболочка > /usr/sbin/swinstall -s /path/to/depot mysql.client
Оболочка > /usr/sbin/swinstall -s /path/to/depot mysql.developer
Базовые места binaries и библиотеки в "/opt/mysql" и данных в "/var/opt/mysql". Склад также создает соответствующие входы в "/sbin/init.d" и "/sbin/rc2.d", чтобы запустить сервер автоматически при начальной загрузке время. Очевидно, это влечет за собой являющийся корневым
, чтобы установить.
Чтобы устанавливать HP-UX распределение tar, Вы должны иметь копию GNU tar
.
Вы нуждаетесь в следующих инструментальных средствах, чтобы формировать и установить MySQL из источника:
gunzip
, чтобы несжать распределение.
tar
, чтобы распаковать распределение. GNU tar
, как известно, работает.
Gcc
> = 2.8.1, egcs
> = 1.0.2, SGI C++ и SunPro C++ - некоторые из компиляторов, которые, как известно, работают. Libg ++
не необходим при использовании gcc
. Gcc
2.7.x имеет ошибку(дефект), которая делает невозможным компилировать некоторых совершенно юридические(законные) файлы C++, типа "sql/sql_base.cc". Если Вы только имеете gcc
2.7.x, Вы должны модернизировать ваш gcc
, чтобы быть способными компилировать MySQL.
делают
программу. GNU делают
, всегда рекомендуется и иногда требуется. Если Вы имеете проблемы, мы рекомендуем пробовать GNU, делают
3.75 или более новый.
Если Вы сталкиваетесь с проблемами, ПОЖАЛУЙСТА ВСЕГДА ИСПОЛЬЗУЕТЕ mysqlbug
при регистрации вопросов к mysql@lists.mysql.com. Даже если проблема не ошибка(дефект), mysqlbug
собирает системную информацию, которая поможет другим решить вашу проблему. Не используя mysqlbug
, Вы уменьшаете вероятность получения решения вашей проблемы! Вы найдете mysqlbug
в " каталог сценариев после того, как Вы распаковываете распределение. См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы.
Основные команды Вы должны выполниться, чтобы установить 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 Пост-инсталляционная установка и испытание, для пост-инсталляционной инициализации и испытания.
tar
и имеет названия(имена) подобно "mysql-VERSION.tar.gz", где ВЕРСИЯ
- номер подобно 3.23.12c-alpha.
Оболочка > gunzip < mysql-VERSION.tar.gz | tar xvf -Эта команда создает каталог названный "mysql-версией".
Оболочка > cd mysql-версия
Оболочка > ./configure - префикс =/usr/local/mysqlshell > делаетКогда Вы выполняете
выбор конфигурации
, Вы могли бы хотеть определить некоторые параметры. Выполнитесь ./configure - помогают
для списка параметров. Раздел 4.7.3 Типичные параметры выбора конфигурации
, обсуждает некоторых из более полезных параметров. Если сбои выбора конфигурации
, и Вы собираетесь посылать почте строкам от "config.log", что Вы думаете, может помогать решать проблему. Также включите последнюю(прошлую) пару строк вывода от выбора конфигурации
, если выбор конфигурации
прерывается. Перенесите сообщение ошибки(дефекта), используя сценарий mysqlbug
. См. раздел 2.3, как сообщить ошибки(дефекты) или проблемы. Если компилирующиеся сбои, см. раздел 4.8 Проблемы при компилировании?, для справки ряда общих(обычных) проблем.
Оболочка > делает установкуВы могли бы были бы должны выполнить эту команду как
корень
.
Оболочка > scripts/mysql_install_dbОбратите внимание, что MySQL версии старшее чем 3.22.10 запустили MySQL сервер, когда Вы выполняете
mysql_install_db
. Это больше не истина!
DBI
/DBD
интерфейс, см. раздел 4.10 комментария инсталляции Perl.
поддержку - 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 Пост-инсталляционная установка и испытание.
Иногда заплаты появляются на списке адресатов или помещены в область заплат MySQL узла ПРОТОКОЛА ПЕРЕДАЧИ ФАЙЛОВ.
Чтобы применять заплату от списка адресатов, сохраните сообщение, в котором заплата появляется в файле, изменение(замена) в каталог верхнего уровня вашего MySQL исходного дерева и выполнять эти команды:
Оболочка > исправляет -p1 < patch-file-nameshell > rm config.cacheshell >, делают чистым
Заплаты от узла ПРОТОКОЛА ПЕРЕДАЧИ ФАЙЛОВ распределены как файлы открытого текста или как файлы, сжатые с gzip
файлами. Примените простую заплату как показано выше для заплат списка адресатов. Чтобы применять сжатую заплату, изменитесь в каталог верхнего уровня вашего MySQL исходного дерева, и выполните эти команды:
Оболочка > gunzip < patch-file-name.gz | исправляет -p1shell > rm config.cacheshell >, делают чистым
После применения(обращения) заплаты, следуйте за командами для нормальной исходной установки, начало с шага ./configure
. После выполнения делающегося
шага установки
, перезапустите ваш MySQL сервер.
Вы могут были должны сбить любой выполняющийся в настоящее время сервер прежде, чем Вы выполняетесь, делают установку
. (Используйте mysqladmin завершение
, чтобы делать это.) Некоторые системы не позволяют Вам устанавливать новую версию программы, если это заменяет версию, которая в настоящее время выполняется.
выбора конфигурации
Сценарий выбора конфигурации
дает Вам много контроля над, как Вы конфигурируете ваше MySQL распределение. Типично Вы делаете эти параметры использования на командной строке выбора конфигурации
. Вы можете также затрагивать выбор конфигурации
, используя некоторые переменные среды. Для списка параметров, поддержанных выбором конфигурации
, выполните эту команду:
Оболочка > ./configure - справка
Некоторые из более обычно-используемых параметров выбора конфигурации
описаны ниже:
-
опцию " без прислуги ":
Оболочка > ./configure - " без прислуги "Если Вы не имеете компилятор C++,
mysql
не будет компилировать (это - одна программа клиента, которая требует C++). В этом случае(регистре), Вы можете удалять код в выборе конфигурации
, который проверяет на компилятор C++ и затем выполнять ./configure
с -
опция " без прислуги ". Компилирующийся шаг будет все еще пробовать формировать mysql
, но Вы можете игнорировать любые предупреждения относительно " mysql.cc '. (Если делают
, останавливает, попытка делает -k
, чтобы сообщить этому продолжать остальную часть компоновки, даже если ошибки происходят.)
выбора конфигурации
кое-что вроде одного из них:
Оболочка > ./configure - префикс =/usr/local/mysqlshell > ./configure - префикс =/usr/local \ - localstatedir =/usr/local/mysql/dataПервая команда изменяет(заменяет) инсталляционный префикс так, чтобы все было установлено под "/usr/local/mysql" скорее чем значение по умолчанию "/usr/local". Вторая команда сохраняет заданный по умолчанию инсталляционный префикс, но отменяет заданное по умолчанию расположение для каталогов базы данных (обычно "/usr/local/var") и изменяет(заменяет) это к
/usr/local/mysql/data
.
выбора конфигурации
подобно этому:
Оболочка > ./configure - with-unix-socket-path=/usr/local/mysql/tmp/mysql.sockОбратите внимание, что данный файл должен быть полное составное имя!
выбор конфигурации
подобно этому:
Оболочка > ./configure - with-client-ldflags =-all-static \ - with-mysqld-ldflags =-all-static
gcc
и не имеете libg ++
или libstdc ++
установленный, Вы можете сообщить выбору конфигурации
использовать gcc
как ваш компилятор C++:
Оболочка > CC=gcc CXX=gcc ./configureКогда Вы используете
gcc
как ваш компилятор C++, это не будет пытаться связываться в libg ++
или libstdc ++
. Если компоновка подводит и производит ошибки относительно вашего компилятора, или неспособность компоновщика, чтобы создать общедоступную библиотеку `libmysqlclient.so.# ' (`# ' Является номером версии), Вы можете работать вокруг этой проблемы, давая - отключенная - общедоступная
опция, чтобы конфигурировать
. В этом случае(регистре), выбор конфигурации
не будет формировать общедоступный libmysqlclient.so.#
Библиотеку.
не-нулевых(не-пустых)
столбцов (то есть, столбцы, которым не позволяют быть НУЛЕВЫМИ(ПУСТЫМИ)
). Это заставляет инструкции INSERT генерировать ошибку, если Вы явно не определяете значения для всех столбцов, которые требуют не-нулевого(не-пустого)
значения. Чтобы подавлять использование значений по умолчанию, выполните выбор конфигурации
подобно этому:
Оболочка > CXXFLAGS =-DDONT_USE_DEFAULT_FIELDS ./configure
- with-charset
опцию:
Оболочка > ./configure - with-charset=CHARSET
CHARSET
может быть один из big5
, cp1251
, cp1257
, чеха
, датского
, dec8
, ДОСа
, euc_kr
, gb2312
gbk
, german1
, еврея
, hp8
, венгра
, koi8_ru
, koi8_ukr
, latin1
, latin2
, sjis
, swe7
, tis620
, ujis
, usa7
, win1251
или win1251ukr
. См. раздел 10.1.1 набор символов, используемый для данных и сортировки. Обратите внимание, что, если Вы хотите изменить(заменить) набор символов, Вы должны делать делающийся distclean
между конфигурациями! Если Вы хотите конвертировать(преобразовать) символы между сервером и клиентом, Вы должны смотреть на команду SET OPTION character set. См. раздел 7.25 синтаксис НАБОРА
. Предупреждающий(предупреждение): Если Вы изменяете(заменяете) наборы символов создав любые таблицы, Вы будете должны выполнить myisamchk -r -q
на каждой таблице. Ваши индексы могут сортироваться неправильно иначе. (Это может случаться, если Вы устанавливаете MySQL, создаете некоторые таблицы, затем реконфигурируете MySQL, чтобы использовать различный набор символов и повторно устанавливать это.)
-
опцию " с отладкой ":
Оболочка > ./configure - " с отладкой "Это заставляет безопасную программу распределения памяти быть включенным, это может находить некоторые ошибки, и это обеспечивает вывод относительно того, что случается. См. раздел G.1 Отладка MySQL сервера.
-
" с клиентом сейфа нити "; это вынуждает библиотеку использовать функции сейфа тематики, запрашивает некоторые функции, которые - не сейф тематики по умолчанию. Вы оплачиваете очень маленький штраф эффективности, делая это, но вообще это - весьма сейф, чтобы использовать эту опцию.
Все программы MySQL компилируют чисто для нас без предупреждений на Solaris использование gcc
. На других системах, предупреждения могут происходить из-за различий в системных файлах для включения. См. раздел 4.9 MIT-pthreads примечания, для предупреждений, которые могут происходить при использовании MIT-pthreads. Для других проблем, проверьте(отметьте) список ниже.
Решение многих проблем включает реконфигурировать. Если Вы должны реконфигурировать, принять во внимание следующее:
выбор конфигурации
бе, это уже было выполнено, это может использовать информацию, которая была собрана в течение ее предыдущего обращения. Эта информация сохранена в "config.cache". Когда выбор конфигурации
начинается, это ищет тот файл и читает его содержание, если это существует, при условии, что информация все еще правильна. То предположение недопустимо, когда Вы реконфигурируете.
выбор конфигурации
, Вы должны выполниться, делают
снова, чтобы перетранслировать. Однако, Вы можете хотеть удалить старые объектные файлы из предыдущих компоновок сначала, так как они были откомпилированы, используя различные параметры конфигурации.
Чтобы предотвращать старую информацию конфигурации или объектные файлы от использования, выполните эти команды перед повторным запуском выбора конфигурации
:
Оболочка > rm config.cacheshell > делает чистым
Альтернативно, Вы можете выполняться, делают distclean
.
Список ниже описывает некоторых из проблем при компилировании MySQL, которые были найдены, чтобы произойти наиболее часто:
Внутренняя ошибка компилятора: программа cc1plus получила фатальный сигнал 11 orOut виртуальной памяти orVirtual истощенная памятьПроблема состоит в том, что
gcc
требует, чтобы огромные объемы памяти компилировали "sql_yacc.cc" с подставляемыми функциями. Пробуйте выполнить выбор конфигурации
с -
опция " с низкой памятью ":
Оболочка > ./configure - " с низкой памятью "Эта опция заставляет
-fno-inline
быть добавленной к компилирующейся строке, если Вы используете gcc
и -O0
, если Вы используете кое-что еще. Вы должны пробовать -
опцию " с низкой памятью " даже если Вы имеете так много памяти и меняете место(космос), что Вы думаете, что Вы не можете возможно выбежать. Эта проблема наблюдал(соблюдал), чтобы произойти даже на системах с щедрыми аппаратными конфигурациями, и -
опция " с низкой памятью " обычно устанавливает это.
конфигурируйте
C++
указок как название(имя) компилятора и GNU связи(ссылки) C++
с -lg ++
. Если Вы используете gcc
, то поведение может вызывать проблемы в течение конфигурации типа этого:
Конфигурируйте: ошибка: инсталляция или конфигурация problem:C ++ компилятор не могут создавать выполнимые программы.Вы могли бы также наблюдать(соблюдать) проблемы в течение трансляции, связанной с
g ++
, libg ++
или libstdc ++
. Одна причина этих проблем - то, что Вы не можете иметь g ++
, или Вы можете иметь g ++
, но не libg ++
или libstdc ++
. Смотрите на "config.log" файл. Это должно содержать точную причину, почему ваш компилятор C++ не работал! Чтобы работать вокруг этих проблем, Вы можете использовать gcc
как ваш компилятор C++. Пробуйте установить переменную среды CXX
к " gcc -O3 "
. Например:
Оболочка > CXX = " gcc -O3 " ./configureЭто работает, потому что
gcc
компилирует источники C++, также как g ++
делает, но не связывается в libg ++
или libstdc ++
по умолчанию. Другой способ устанавливать эти проблемы, конечно, состоит в том, чтобы установить g ++
, libg ++
и libstdc ++
.
делают
к GNU, делайте
:
Создание всех в mit-pthreadsmake: Фатальная ошибка в считывающем устройстве: Формирование файла, строка 18:Badly сформированное макро назначение ormake: файл "Формирование файла" выравнивает 18: Должен Быть разделитель (: orpthread.h: Никакой такой файл или каталогSolaris и FreeBSD, как известно, имеют неприятный
, делают
программы. GNU делают
версию 3.75, как известно, работает.
CFLAGS
и CXXFLAGS
переменным среды. Вы можете также определить, что компилятор называет этот путь использовать КУБ/СМ
и CXX
. Например:
Оболочка > CC=gccshell > CFLAGS =-O6shell > CXX=gccshell > CXXFLAGS =-O6shell > экспортирует КУБ/СМ CFLAGS CXX CXXFLAGSСм. раздел 4.14 TcX binaries, для списка определений флажка, которые были найдены, чтобы быть полезными на различных системах.
gcc
компилятор:
Client/libmysql.c:273: ошибка синтаксического анализа прежде " __ приписывает __ '
Gcc
2.8.1, как известно, работает, но мы рекомендуем использовать egcs
1.0.3a или более новый вместо этого.
mysqld
, выбор конфигурации
правильно не обнаруживали тип последнего(прошлого) параметра, чтобы , который примет ()
, getsockname ()
или getpeername ()
:
Cxx: Ошибка: mysqld.cc, строка 645: В этой инструкции, упомянутый тип значения указателя "&length" Является " без знака длинным ", который не совместим с "int" .new_sock = ввод (носок (, struct sockaddr *)&cAddr, &length);Чтобы устанавливать это, редактируйте "config.h" файл (который сгенерирован
выбором конфигурации
). Ищите эти строки:
/* Определить как исходный тип последнего(прошлого) параметра, чтобы , который примет */#define SOCKET_SIZE_TYPE XXXИзмените(замените)
XXX
к size_t
или int
, в зависимости от вашей операционной системы. (Обратите внимание, что Вы будете должны делать это, каждый раз Вы выполняете выбор конфигурации
, так как выбор конфигурации
восстанавливает "config.h".)
"Sql_yacc.yy", строка xxx фатальный: заданное по умолчанию действие вызывает потенциал ...Это - признак(подпись), что ваша версия
yacc
является несовершенной. Вы вероятно должны установить бизона
(GNU версия yacc
) и использования это вместо этого.
mysqld
или MySQL клиента, выполните выбор конфигурации
с -
опция " с отладкой ", то перетранслируют и связывают вашу клиентуру с новой библиотекой клиентов. См. раздел G.2 Отладка MySQL клиента.
Этот раздел описывает некоторых из проблем(выпусков), включенных в использование MIT-pthreads.
Обратите внимание, что на Linux Вы не должны использовать MIT-PTHREADS, но устанавливать LinuxThreads! См. раздел 4.11.5 Linux примечания (все Linux версии).
Если ваша система не обеспечивает родную поддержку тематики, Вы будете должны формировать MySQL использование пакета MIT-PTHREADS. Это включает большинство FreeBSD системы, SunOS 4.x, Solaris 2.4 и ранее, и некоторые другие. См. раздел 4.2 Операционных системы, поддержанные MySQL.
выбор конфигурации
с - with-mit-threads
опция:
Оболочка > ./configure - with-mit-threadsФормирование в не-исходном каталоге не поддержано при использовании MIT-pthreads, потому что мы хотим свернуть наши изменения(замены) к этому коду.
AF_UNIX
протокол, имел обыкновение осуществлять Unix разъемы. Это означает, что, если Вы компилируете использование MIT-pthreads, все подключения должны быть сделаны, используя TCP/IP (который является немного медленнее). Если Вы находите после формирования MySQL, что Вы не можете соединяться с локальным сервером, может быть то, что ваш клиент пытается подключать с localhost
использование Unix разъема как значение по умолчанию. Пробуйте делать TCP/IP подключение с mysql
, используя ведущую опцию (-h
или - главным компьютером
) чтобы определить локальное имя хоста явно.
-
" без прислуги " чтобы формировать только код клиента, клиентура не будет знать, действительно ли MIT-PTHREADS используется и будет использовать Unix схемы расположения выводов по умолчанию. С тех пор Unix разъемы не работают под MIT-PTHREADS, это означает, что Вы будете должны использовать -h
или - главный компьютер
, когда Вы выполняете программы клиента.
- блокирующая использование
опция.
связывают ()
команда будет не в состоянии связывать с разъемом без любого сообщения об ошибках (по крайней мере на Solaris). Результат - то, что все подключения к серверу терпят неудачу. Например:
Оболочка > mysqladmin versionmysqladmin: соединитесь с сервером в " неудавшийся; ошибка: ' Не может соединяться с mysql сервером на localhost (146) 'Решение этого состоит в том, чтобы уничтожить
mysqld
сервер и перезапускать это. Это только случилось с нами, когда мы снизили сервер и сделали рестарт немедленно.
бездействие ()
системный вызов не interruptible с SIGINT
(перерыв). Это только значимо, когда Вы выполняете mysqladmin - бездействие
. Вы должны ждать бездействие ()
запроса закончиться прежде, чем прерывание обслуживается, и процесс останавливается.
Ld: предупреждение: символ "_iob" имеет отличающиеся размеры: (файл /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; файл); /my/local/pthreads/lib/libpthread.a(findfp.o) определение takenld: предупреждение: символ " __ iob ' имеет отличающиеся размеры: (файл /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; файл); /my/local/pthreads/lib/libpthread.a(findfp.o) принятое определение
Неявное объявление функции " int strtoll (...) ' неявное объявление функции " int strtoul (...) '
readline
, чтобы работать с MIT-PTHREADS. (Это не необходимо, но может быть интересно для кого - то.)
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
, но процедура - тот же самый для всех трех распределений.
Оболочка > gunzip < Свалка | tar xvf -Эта команда создает каталог по имени Свалка.
Оболочка > cd Свалка
Оболочка > 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
Просмотр при заголовке, устанавливающем Новые Модули, которые Требуют В местном масштабе Установленных Модулей
.
Чтобы устанавливать MySQL DBD
модуль с ActiveState Perl на Win32, Вы должны делать следующее:
набор HTTP_proxy=my.proxy.com:3128
C:\perl\bin\ppm.pl
DBI
: установка DBI
DBD:: mysql:
http://www.mysql.com/Contrib/ppd/DBD-mysql.ppd
Если Вы не можете становиться вышеупомянутыми работать, Вы должны вместо этого установить MyODBC драйвер и соединяться с MySQL сервером через ODBC.
Использование DBI; $dbh = DBI->connect("DBI:ODBC:$dsn","$user","$password ") || умирают " Получил ошибку $DBI:: errstr при соединении с $dsn\n ";
MySQL Perl распределение содержит DBI
, DBD:MySQL
и DBD:ODBC
.
C:
так, чтобы Вы получили каталог "C:\PERL'.
perl
работы, выполняя perl -v
в оболочке DOS.
DBI
/DBD
интерфейс
Если Perl сообщает, что это не может находить ../mysql/mysql.so
модуль, то проблема - вероятно, что Perl не может располагать общедоступную библиотеку "libmysqlclient.so".
Вы можете устанавливать это любым из следующих методов:
Msql-Mysql-modules
распределение с perl Формированием файла. PL -статическая -конфигурация
скорее чем perl Формирование файла. PL
libmysqlclient.so
к каталогу, где ваши другие общедоступные библиотеки расположены (вероятно "/usr/lib" или "/lib").
Linux
Вы можете добавлять имя пути каталога, где libmysqlclient.so
расположен к "/etc/ld.so.conf" файлу.
libmysqlclient.so
расположен к LD_RUN_PATH
переменной среды.
Если Вы получаете следующие ошибки от 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
, указывает команду, чтобы использовать.
Следующие разделы указывают некоторых из проблем(выпусков), которые наблюдал(соблюдал), чтобы произойти на специфических системах при установке MySQL от исходного распределения.
На 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.#: открытый неудавшийся: Никакой такой файл или каталог
Проблемы можно избегать одним из следующих методов:
-Lpath
): -Wl, r/full-path-to-libmysqlclient.so
.
libmysqclient.so
к "/usr/lib".
libmysqlclient.so
расположен к LD_RUN_PATH
переменной среды перед выполнением вашего клиента.
При использовании - with-libwrap
конфигурируют опцию, Вы должны также включить библиотеки, в которых libwrap.a
нуждается:
- with-libwrap="/opt/NUtcpwrapper-7.6/lib/libwrap.a -lnsl -lsocket
Вы можете обычно использовать 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: синтаксическая ошибка прежде "; '
Решение этого состоит в том, чтобы делать один из следующих шагов:
#define HAVE_TERM
строку от "config.h" файла, и выполнитесь, делают
снова.
CFLAGS =-DHAVE_CURSES CXXFLAGS =-DHAVE_CURSES ./configure
Если Вы используете 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 сервера.
На SunOS 4, MIT-pthreads необходим, чтобы компилировать MySQL, который в свою очередь означает, что Вы будете нуждаться В GNU, делают
.
Некоторый SunOS 4 системы имеют проблемы с динамическими библиотеками и libtool
. Вы можете использовать следующую строку выбора конфигурации
, чтобы избежать этой проблемы:
Оболочка > ./configure - отключать - общедоступный - with-mysqld-ldflags =-all-static
При компилировании readline
, Вы можете добраться, предупреждения относительно дубликата определяют. Они могут игнорироваться.
При компилировании mysqld
, будет иметься некоторое неявное объявление функциональных
предупреждений. Они могут игнорироваться.
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: открытый неудавшийся: Никакой такой файл или каталог
При выполнении их, проблемы можно избегать одним из следующих методов:
-Lpath
): -Wl, r/path-libmysqlclient.so
.
libmysqclient.so
к "/usr/lib".
libmysqlclient.so
расположен к LD_RUN_PATH
переменной среды перед выполнением вашего клиента.
Если Вы используете 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 - отключать - общедоступный - " с низкой памятью "
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
Если Вы имеете любые проблемы с 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 сервера.
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
.
В некоторых выполнении, 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 для этой информации.
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-альфе:
испытании - создающимся
в MySQL эталонных тестах, mysqld может сообщать, что ошибка Не может создавать / записывать к файлу '...' (Errcode: 12)
. Это - вероятно ошибка(дефект) в Linux-альфе ядре.
gdb 4.18
. До gdb 4.19
выпущен, Вы должны использовать снимок от ftp://sourceware.cygnus.com/pub/gdb/snapshots/, чтобы заставить это работать. Мы использовали gdb-000222
, и для нас это, казалось, было весьма устойчивым!
- with-mysqld-ldflags =-all-static
Мы все же не знаем, является ли следующая старая информация все еще уместна, так что мы оставляем это здесь, пока мы не имели время, чтобы проверить Linux-альфу должным образом.
Если Вы имеете проблемы с сигналами (MySQL, умирает неожиданно при высокой загрузке) Вы, возможно, нашли OS ошибку(дефект) с тематиками и сигналами. В этом случае(регистре) Вы можете сообщить MySQL не использовать сигналы, конфигурируя с:
Оболочка > CFLAGS =-DDONT_USE_THR_ALARM \ CXXFLAGS =-DDONT_USE_THR_ALARM \ ./configure ...
Это не затрагивает эффективность MySQL, но имеет побочный эффект, что Вы не можете уничтожать клиентуру, которая является " " бездействующий " на подключении с mysqladmin, уничтожают
или mysqladmin завершение
. Вместо этого, клиент умрет, когда это выпускает его следующую команду.
MySQL должен работать на MkLinux с самым новым пакет glibc
(проверенный с glibc
2.0.7).
Чтобы заставить MySQL работать на Qube2, (Linux Миллионы операций в секунду), Вы нуждаетесь самый новый glibc
библиотеки (glibc-2.0.7-29C2
, как известно, работает). Вы должны также использовать egcs
компилятор C++ (egcs-1.0.2-9
или более новый).
При компилировании связных программ под Цифровым 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
для Вас.
Если Вы имеете проблемы при компилировании и имеете КУБ/СМ
ДЕКАБРЯ и установленный 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
опцию на вашем, чтобы компилировать строку. После того, как это сделано, Вы можете только изменяться назад к верхнему уровню непосредственно и выполняться, делают
снова.
Если Вы используете 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
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 ядра, которые отмечены -устойчивыми
Чтобы компилировать на NetBSD, Вы нуждаетесь В GNU, делают
. Иначе компилирующийся разрушится, когда делают
попытки выполнить lint
на файлах C++.
На OpenBSD 2.5, Вы можете компилировать MySQL с родными тематиками со следующими параметрами:
CFLAGS =-pthread CXXFLAGS =-pthread ./configure - with-mit-threads=no
Если Вы получаете следующую ошибку при компилировании 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
.
Обновление к 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
.
BSDI 4.x имеет некоторую тематику связанные ошибки(дефекты). Если Вы хотите использовать MySQL на этом, Вы должны установить всю тематику связанные заплаты. По крайней мере M400-023 должен быть установлен.
На некотором BSDI 4.x системы, Вы можете получить проблемы с общедоступными библиотеками. Признак - то, что Вы не можете выполнять любые программы клиента, подобно например mysqladmin
. В этом случае(регистре) Вы должны реконфигурировать, чтобы не использовать общедоступные библиотеки с - отключенная - общедоступная
опция, чтобы конфигурировать.
Текущий порт проверен только на " " sco3.2v5.0.4 "и" "sco3.2v5.0.5" система. Также имелись много продвижения(прогресса) на порте к " " sco 3.2v4.2 ".
В течение момента рекомендуемый компилятор на OpenServer - gcc 2.95.2. С этим Вы должны быть способны компилировать MySQL
с только:
CC=gcc CXX=gcc ./configure ... (параметры)
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/
./configure
в "threads/src" каталоге, и выберите SCO опцию OpenServer. Эта команда копирует " Формирование файла. SCO5 ' к "Формированию файла".
делают
.
cd
к "thread/src" каталогу, и выполнитесь, делают установку
.
, делают
при создании MySQL.
Оболочка > КУБ/СМ = " gcc -DSCO " CXX = " gcc -DSCO " ./configure
-DSCO
необходим, чтобы помогать конфигурировать поиск некоторые функции тематики должным образом. Если Вы забываете -DSCO
, Вы получите следующее сообщение об ошибках при компилировании:
My_pthread.c: функция In " my_pthread_mutex_init ':my_pthread.c:374: " pthread_mutexattr_default ' необъявленный (сначала используют эту функцию)
safe_mysqld
как корень, Вы вероятно получите только значение по умолчанию 110 открытых файлов в процесс. Mysqld
запишет примечание относительно этого в журнале.
выбора конфигурации
должна работать:
Оболочка > КУБ/СМ = " gcc -belf " ./configure - префикс =/usr/local/mysql - отключать - общедоступный
выбора конфигурации
должна работать:
Оболочка > 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 примечания развития:
mysqld
с -lgthreads -lsocket -lgthreads
.
www.mysql.com
) прибывает связанной с GNU malloc
. Если Вы сталкиваетесь с проблемами с использованием памяти, удостоверитесь, что "gmalloc.o" включен в "libgthreads.a" и "libgthreads.so".
читайте ()
, запишите ()
, getmsg ()
, соединитесь ()
, ввод ()
, выберите ()
и ждите ()
.
Если Вы хотите установить 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 работает лучше всего когда откомпилировано с куб/см
.
Вы должны использовать версию MySQL по крайней мере столь же недавний как 3.22.13, так как та версия устанавливает некоторые проблемы мобильности под Unixware.
Мы были способны компилировать MySQL со следующей командой выбора конфигурации
на UnixWare 7.0.1:
Оболочка > CC=cc CXX=CC ./configure - префикс =/usr/local/mysql
Если Вы хотите использовать gcc
, Вы должны использовать gcc
2.95.2 или более новый.
Автоматическое обнаружение 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.
Имеется пара " " маленький " проблемы при компилировании 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!
Имеется некоторая информация, который HP-UX 11.x пользователь послал нам:
Обратите внимание, что некоторые из этих вещей уже установлены в MySQL 3.23.
Обратите внимание: двоичное распределение для hp-ux 10.20 pa1.1 убирает ядро на hp-ux 11.0 pa2.0 в течение scripts/mysql_install_db
. Также, я чувствую это необходимый формировать на пустом месте. Это было мягко болезненный процесс, так что я совместно использую мою работу, так что другие могут извлекать выгоду.
Среда: надлежащие компиляторы. Setenv куб/см КУБ/СМ setenv CXX aCC помечает setenv CFLAGS -D_REENTRANT setenv CXXFLAGS -D_REENTRANT setenv CPPFLAGS -D_REENTRANT % aCC -V aCC: HEWLETT-PACKARD C++ ANSI B3910B X.03.14.06 куб/см % -V /tmp/empty.c cpp.ansi: HP92453-01 11.02.00 Препроцессор C HEWLETT-PACKARD (ANSI) ccom: HP92453-01 11.01.00 куб/см Компилятора C HEWLETT-PACKARD: "/tmp/empty.c", строка 1: предупреждение 501: Пустой исходный файл.
Конфигурация: ./configure - with-pthread \ - префикс =/source-control/mysql \ - with-named-thread-libs =-lpthread \ - " с низкой памятью "
/* Не включить std ctype.h, когда это включено, */ #define _CTYPE_H #define __ CTYPE_INCLUDED #define _CTYPE_INCLUDED #define _CTYPE_USING /* Не помещают названия(имена) в глобальную переменную namespace. */
-D_REENTRANT
, чтобы заставить компилятор признавать прототип за localtime_r
. Альтернативно я мог снабдить прототип для localtime_r
. Но я хотел захватить другие ошибки(дефекты) без нуждающийся столкнуться с ними. Я не был уверен, где я нуждался в этом, так я добавлял это к всем флажкам.
символу *
. Это - осуждаемая особенность. Я не изменял(заменял) режим.
Комментарии от другого пользователя, который формировал MySQL с gcc
2.95.1:
В файле, включенном от /usr/include/unistd.h:11, от ../include/global.h:125, от mysql_priv.h:15, от item.cc:19:/usr/include/sys/unistd.h:18 4: объявление функции C " int pthread_atfork (пусто (*) (...), пусто (*) (...), пусто (*) (...)) ' находится в противоречии with/usr/include/sys/pthread.h:440: предыдущее объявление " int pthread_atfork (пусто (*) (), пусто (*) (), пусто (*) ()) ' здесь файл, включенный от элемента h:306(пункта), от mysql_priv.h:158, от элемента cc:19(пункта):Проблема состоит в том, что HP-UX не определяет
pthreads_atfork ()
последовательно. Это имеет противоречивые прототипы в " /usr/include/sys/unistd.h ':184, и " /usr/include/sys/pthread.h ':440 (я переношу подробности ниже). Мое решение состояло в том, чтобы копировать "/usr/include/sys/unistd.h" в "mysql/include" и редактировать "unistd.h" и изменять(заменять) это, чтобы соответствовать определению "pthread.h". Имеется различный:
183,184c183,184 < экскрачка int pthread_atfork (пусто (*prepare) (), пусто (*parent) (), < пусто (*child) ()); --- > экскрачка int pthread_atfork (пусто (*prepare) (пусто), пусто (*parent) (пусто), > пусто (*child) (пусто));
Вы можете заставить 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 '
Этот раздел описывает инсталляцию и использование MySQL на Win32. Это также описано в "README" файле, который идет с MySQL Win32 распределение.
Если Вы не имеете зарегистрированную версию MySQL, Вы должны сначала загрузить версию общего пользования от:
Если Вы планируете соединяться с 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 файла Опции.
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
не начинается. Если Вы делаете сообщение ошибки(дефекта) относительно этого, пожалуйста только пошлите строки где кое-что швы, чтобы идти не так, как надо к списку адресатов!
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".
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 Причины Доступ не разрешен
ошибок.
Имеется примечание относительно того, как соединиться, чтобы получить безопасное подключение к отдаленному MySQL серверу с SSH (Дэвидом Карлсоном).
локальный порт: 3306
, главный компьютер: localhost
, отдаленный порт: 3306
Вот именно. Это работает очень хорошо с прямым подключением Internet. Я имею проблемы с SSH, находящимся в противоречии с моей Win95 сетью и Wingate - но это будет тема(раздел) регистрации на usegroup другой программной компании!
MySQL-Win32 к настоящему времени доказал себя, чтобы быть очень устойчивым. Эта версия MySQL имеет те же самые особенности как передача Unix версия со следующими исключениями:
mysqld
в течение расширенного(продленного) времени на Win95, если Вы делаете много подключений, так как каждое подключение в MySQL создает новую тематику! WinNT и Win98 не страдают от этой ошибки(дефекта).
Mysqladmin уничтожают
, не будет работать на бездействующем подключении.
Mysqladmin завершение
не может прерываться, пока там бездействуют подключения.
БАЗА ДАННЫХ СНИЖЕНИЯ
mysqladmin завершением
.
my_table
и как MY_TABLE
:
ВЫБЕРИТЕ * ОТ my_table ГДЕ MY_TABLE.COL=1;
ДАННЫЕ ЗАГРУЗКИ INFILE
или ВЫБИРАЕТЕ ... В OUTFILE
, Вы должны удвоить "\" символ или использовать Unix имена файла стиля "/" символы:
ЗАГРУЗИТЕ ДАННЫЕ INFILE "C:\\tmp\\skr.txt" В ТАБЛИЦУ skr; ВЫБЕРИТЕ * ОТ skr В OUTFILE 'C:/tmp/skr.txt';
Не может открывать
ошибку именованного канала
Ошибка 2017: не может открывать именованный канал на главный компьютер:. Канал ...Это - то, потому что выпускаемая версия MySQL использует именованные каналы на NT по умолчанию. Вы можете избегать этой ошибки, используя
- host=localhost
опция к новой MySQL клиентуре или создавать файл, который содержит следующую информацию:
Главный компьютер [клиента] = localhost
Доступ не разрешен для
ошибки пользователя
Доступ не разрешен для пользователя: 'some-user@unknown' к базе данных 'mysql'
при доступе к MySQL серверу на той же самой машине, это означает, что MySQL не может решать ваше имя хоста должным образом. Чтобы устанавливать это, Вы должны создать файл " \windows\hosts' со следующей информацией:
127.0.0.1 Localhost
Имеются некоторые открытые проблемы(выпуски) для любого, кто мог бы хотеть помочь нам с выпуском Win32:
MYSQL.DLL
сервером. Это должно включить все в стандарт MySQL сервер, кроме создания тематики. Это будет делать MySQL, намного более легкий для использования в приложениях, которые не нуждаются в истинном клиенте / сервере и не нуждаться обратиться к серверу от других главных компьютеров.
mysqld.cc
, но это должно быть повторно кодировано, чтобы быть большим количеством " " параметр " ориентируемое. Инструмент также был бы способен обновить(модифицировать) " \my.cnf ' файл, если пользователь предпочел бы использовать это вместо системного реестра.
mysqld
как обслуживание(служба) с - установка
(на NT) был бы хорошо, если Вы могли бы также добавлять опции по умолчанию на командной строке. В течение момента, работа должна обновить(модифицировать) "C:\my.cnf" файл вместо этого.
mysqld
daemon не принимает новые подключения, когда портативная ЭВМ продолжена. Мы не знаем,является ли это проблема с Win95, TCP/IP или MySQL.
mysqld
от администратора задачи. В течение момента, Вы должны использовать mysqladmin завершение
.
readline
к Win32 для использования в mysql
инструменте командной строки.
mysql
, mysqlshow
, mysqladmin
, и mysqldump
) были бы хороши.
mysqladmin уничтожает
на Win32.
Mysqld
всегда начинается в "C" регионе(языке) а не в заданном по умолчанию регионе(языке). Мы хотели бы иметь mysqld
, используют текущий регион(язык) для порядка сортировки.
sqlclient
к Win32 (почти сделанный) и добавляет большее количество особенностей к этому!
.DLL
s.
Другие проблемы(выпуски) Win32-specific описаны в "README" файле, который идет с MySQL-Win32 распределением.
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 "пример";
Как обслуживание(служба), TcX обеспечивает набор двоичных распределений MySQL, которые откомпилированы в TcX или в узлах, где заказчики любезно дали нам доступ к их машинам.
Эти распределения сгенерированы с scripts/make_binary_distribution
и конфигурированы со следующими компиляторами и параметрами:
gcc
2.7.2.1
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql - отключать - общедоступный
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 -
" с низкой памятью "
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 -
" с низкой памятью "
gcc
2.8.1
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql -
" с низкой памятью "
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
gcc
2.7-95q4
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
gcc
2.7.2.2
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
gcc
2.8.1
CC=gcc CFLAGS =-O CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql -
" с низкой памятью "
gcc
2.8.0
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
gcc
2.7.2.1
CC=gcc CXX=gcc CXXFLAGS =-O ./configure - префикс =/usr/local/mysql
gcc
2.7.2
CC=gcc CXX=gcc CXXFLAGS =-O3 ./configure - префикс =/usr/local/mysql
Любой, кто имеет более оптимальные параметры для любой из конфигураций, перечисленных выше, может всегда отправлять им к списку адресатов разработчика в
Распределения ОБОРОТА В МИНУТУ до MySQL 3.22 пожертвованные пользователем. При начале с 3.22, некоторые ОБОРОТЫ В МИНУТУ TcX-генерир.
Как только вы установили 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".
Испытание описано подробно ниже:
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 распределении:
mysql_install_db
перед выполнением этого, изменять(заменять) начальные привилегии, которые установлены в таблицы предоставления. Это полезно, если Вы хотите установить MySQL на большом количестве машин с теми же самыми привилегиями. В этом случае(регистре) Вы вероятно должны были должны только добавить несколько дополнительных инструкций INSERT к mysql.user
и mysql.db
таблицам!
mysql_install_db
, затем использовать mysql -u, укореняются(внедряют) mysql
, чтобы соединиться с таблицами предоставления, поскольку MySQL внедряют
пользователя и инструкции SQL проблемы(выпуска), чтобы изменить таблицы предоставления непосредственно.
mysql_install_db
.
Оболочка > cd mysql_installation_directoryshell > bin/safe_mysqld иЕсли Вы имеете проблемы при старте сервера, см. раздел 4.15.2 Проблемы при старте MySQL сервера.
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
, вызывает это с -
опция справки
.
Оболочка > BINDIR/mysqladmin -u внедряет завершение
safe_mysqld
или, вызывая mysqld
непосредственно. Например:
Оболочка > BINDIR/safe_mysqld - регистрирует иЕсли сбои
safe_mysqld
, пробуйте выполнить это от каталога инсталляции MySQL (если Вы не уже там). Если это не работает, см. раздел 4.15.2 Проблемы при старте MySQL сервера.
Оболочка > 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' файл.
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 выполняется
Не может запускать сервер: Свяжите на 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
параметры для каждого обращения.
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
терпит крах немедленно
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
позже, чтобы сообщить серверу перезагружать таблицы предоставления.
Вообще, Вы запускаете mysqld
сервер способом из трех путей:
mysql.server
. Этот сценарий используется прежде всего при системном запуске и завершении, и описан более полностью в разделе 4.15.3 Старт и остановка MySQL автоматически.
safe_mysqld
, который пробует определять, надлежащие параметры для mysqld
и затем выполняют это с теми параметрами.
mysqld
как обслуживание(служба) следующим образом:
Bin\mysqld-nt - установка # Устанавливает MySQL как обслуживание(служба)Вы можете теперь начало / останов
mysqld
следующим образом:
СЕТЕВОЕ НАЧАЛО mysqlNET ОСТАНАВЛИВАЕТ mysqlОбратите внимание, что в этом случае(регистре) Вы не можете использовать любые другие параметры для
mysqld
! Вы можете удалять обслуживание(службу) следующим образом:
Bin\mysqld-nt - удаляют #, удаляют 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
вызван. Safe_mysqld
смотрит под его рабочим каталогом для "лотка" и каталогов "данных" (для двоичных распределений) или для "libexec" и "переменных" каталогов (для исходных распределений). Это условие(состояние) должно быть встречено(выполнено), если Вы выполняете safe_mysqld
от вашего каталога инсталляции MySQL (например, "/usr/local/mysql" для двоичного распределения).
safe_mysqld
пытается располагать их полными составными именами. Типичные расположения - "/usr/local/libexec" и "/usr/local/var". Фактические расположения определены, когда распределение было сформировано, от которого safe_mysqld
прибывает. Они были бы правильны, если MySQL был установлен в стандартное расположение.
С тех пор 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 примечания.
Сценарий 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 файла Опции.
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
.
Вы можете использовать файлы опции, чтобы определить любую длинную опцию, которую программа поддерживает! Выполнитесь программа с - помогает
получать список доступных параметров.
Файл опции может содержать строки следующих форм:
[Группа]
Группа
- название(имя) программы или группы, для которой Вы хотите установить параметры. После строки группы, любая опция
или строки переменной набора
обращается к названной группе, пока конец файла опции или другой строки группы не дается.
Опция
- опция
на командной строке.
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 клиентура, чтобы видеть, как делать это.
Вы можете всегда перемещать форму 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.
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:
ВНУТРЕННИЙ
и ОТСРОЧЕННЫЙ
- теперь зарезервированные слова.
С ПЛАВАЮЩЕЙ ТОЧКОЙ (X) -
теперь истинные типы с плавающей запятой.
ДЕСЯТИЧНОГО ЧИСЛА (длина, декабрь)
параметр длины больше не включает место для признака(подписи) или десятичной точки.
ВРЕМЕНИ
должна теперь иметь один из следующих форматов: [[[ДНИ] [H] H:] ММ:] SS [.fraction]
или [[[[[H] H] H] H] ММ] SS [.fraction]
ПОДОБНО
теперь сравнивает строки, использующие те же самые символьные правила сравнения "относительно"
. Если Вы требуете старого поведения, Вы можете компилировать MySQL с CXXFLAGS =-DLIKE_CMP_TOUPPER
флажок.
REGEXP
- теперь случай(регистр), нечувствительный для нормали (не двоичный) строки.
myisamchk
для MyISAM
таблиц (.MYI)
и isamchk
для ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНОГО МЕТОДА ДОСТУПА (.ISM)
таблицы.
mysqldump
s был совместимым между MySQL 3.22 и 3.23, Вы не должны использовать - выбирают
или - полная
опция к mysqldump
.
DATE_FORMAT ()
чтобы удостовериться, что имеется "%" перед каждым символом управления форматом.
Mysql_fetch_fields_direct
- теперь функция (это было макрокоманда) и это возвращает указатель на MYSQL_FIELD
вместо MYSQL_FIELD
.
Mysql_num_fields ()
больше не может использоваться на объекте(цели) MYSQL* (это - теперь функция, которая берет MYSQL_RES*
как параметр. Вы должны теперь использовать mysql_field_count ()
вместо этого.
MySQL
3.22, вывод ВЫБОРА ОТЛИЧНЫЙ ...
почти всегда сортировался. В 3.23, Вы должны использовать ГРУППУ
или ПОРЯДОК
получить сортируемый вывод.
СУММА ()
теперь возвращает ПУСТОЙ УКАЗАТЕЛЬ
, вместо 0, если не имеется никаких строк соответствия. Это - согласно SQL ANSI.
СЛУЧАЙ(РЕГИСТР), ТОГДА, КОГДА, ЕЩЕ и КОНЕЦ
Ничто, которое воздействует на совместимость, не изменилось между 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
структуре обработчика.
Если Вы выполняете версию старшее чем 3.20.28 и хотите переключить к 3.21.x, Вы должны делать следующее:
Вы можете запускать mysqld
3.21 сервер с safe_mysqld - старый протокол
, чтобы использовать это с клиентурой от 3.20 распределения. В этом случае(регистре), новая функция mysql_errno
клиента ()
не будет возвращать никакую ошибку сервера, только CR_UNKNOWN_ERROR
, (но это работает для ошибок клиента) и сервер использует старый пароль () проверяющий скорее чем новый.
Если Вы не используете -
опцию с старым протоколом
к mysqld
, Вы будете должны делать следующие изменения(замены):
scripts/add_long_password
должен быть выполнен, чтобы конвертировать(преобразовать) поле Password в mysql.user
таблице к СИМВОЛУ (16)
.
mysql.user
таблице (чтобы статься 62-разрядными скорее чем 31-разрядные пароли).
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
.
Следующие изменения(замены) могут затрагивать запросы в старых приложениях:
НАЛИЧИЕ
должно теперь быть определено перед любым предложением ORDER BY.
РАСПОЛОЖИТЬ ()
были заменены.
ДАТА
, ВРЕМЯ
и TIMESTAMP
.
Если Вы используете 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 привилегии сброса
так, чтобы сервер перезагрузил информацию таблицы предоставления.
Идите к первому, предыдущему, затем, последний(прошлый) раздел, оглавление.