П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 179578 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 77516 раз(а).

Учебник HTML.
Просмотров 75159 раз(а).

Руководство по PHP5.
Просмотров 46201 раз(а).

Хостинг через призму DNS.
Просмотров 53450 раз(а).

Подборка текстов стандартных документов.
Просмотров 46180 раз(а).

Учебник PHP - Самоучитель
Просмотров 52337 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 52893 раз(а).

Внешние атаки...
Просмотров 42798 раз(а).

Учебник PHP.
Просмотров 38317 раз(а).

SSI в примерах.
Просмотров 28402 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 2. Установка MySQL
Пред.    След.

2.4. Послеустановочные настройка и тестирование
2.4.2. Проблемы при запуске сервера MySQL

Если вы собираетесь использовать таблицы, поддерживающие транзакции (InnoDB, BDB), следует прежде всего создать файл my.cnf и установить опции запуска для тех типов таблиц, с которыми планируется работать. See Глава 7, Типы таблиц MySQL.

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

При своем запуске демон mysqld изменяет свой каталог на каталог данных (datadir). В нем он ожидает найти журнальные файлы, файлы pid (ID процессов) и собственно базы данных.

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

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

shell> EXECDIR/mysqld --basedir=/usr/local --help

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

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

shell> tail host_name.err
shell> tail host_name.log

В журнальном файле нужно искать что-нибудь похожее на следующее:

000729 14:50:10 bdb: Recovery function for LSN 1 27595 failed
000729 14:50:10 bdb: warning: ./test/t1.db: No such file or directory
000729 14:50:10 Can't init databases

Это означает, что вы не запустили mysqld с --bdb-no-recover и база данных Berkeley DB нашла что-то ошибочное в своих журнальных файлах при попытке восстановить ваши базы данных. Чтобы иметь возможность продолжить, необходимо переместить старый журнальный файл Berkeley DB из каталога баз данных в некоторое другое место, где позже можно будет изучить его. Журнальные файлы имеют имена log.0000000001 и т.д.; номер возрастает при каждом запуске.

Если вы запускаете mysqld работает с поддержкой таблиц BDB и mysqld при старте выводит дамп оперативной памяти (coredump), то причиной этого это могут быть какие-либо проблемы с журналом восстановления BDB. В этом случае можно попробовать запуск mysqld с --bdb-no-recover. Если это помогает, то следует удалить все файлы log.* из каталога данных и попробовать запустить mysqld опять.

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

Can't start server: Bind on TCP/IP port: Address already in use
или
Can't start server : Bind on unix socket...

Чтобы убедиться, что другого работающего сервера mysqld нет, используйте ps. Если другой работающий сервер не найден, то можно попробовать выполнить команду telnet your-host-name tcp-ip-port-number и нажать пару раз клавишу "Enter". Если вы не получаете сообщения об ошибке вроде следующего telnet: Unable to connect to remote host: Connection refused, значит, что порт TCP/IP порт, который mysqld пытается использовать, уже занят другой программой. Раздел 2.4.1, «Проблемы при запуске mysql_install_db» и раздел See Раздел 4.1.4, «Запуск нескольких серверов MySQL на одном компьютере».

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

shell> mysqladmin variables
или
shell> mysqladmin -h 'your-host-name' variables

Если при запуске mysqld вы получили ошибку Errcode 13, что значит Permission denied, это означает, что у вас не было прав читать/создавать файлы в базе данных MySQL или в журнальном каталоге. В таком случае вам следует либо запускать mysqld как пользователь root, либо изменить права доступа к упомянутым файлам и каталогам, чтобы иметь права использовать их.

Если safe_mysqld запускает сервер, но вы не можете подключиться к нему, то следует убедиться, что в /etc/hosts есть запись, которая выглядит примерно так:

127.0.0.1 localhost

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

Если вы не можете запустить mysqld, то можно попробовать создать трассировочный файл, чтобы обнаружить данную проблему. See Раздел E.1.2, «Создание трассировочных файлов».

При использовании таблиц InnoDB следует указывать опции запуска, специфические для InnoDB. See Раздел 7.5.2, «Параметры запуска InnoDB».

При использовании таблиц BDB (Berkeley DB) необходимо хорошо знать различные специфические для BDB опции запуска. See Раздел 7.6.3, «Параметры запуска BDB».


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Глава 1. Общая информация Начало Книги Глава 3. Учебное пособие по MySQL


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





Copyright © 2005-2016 Project.Net.Ru