Понадобилось запустить MySQL. С ней я раньше не сталкивался. Поэтому взял книжку MySQL учебное пособие. Операционная система: Fedora Core 8. Установленная версия MySQL - 5.0.45-6.fc8.i386 -установлена вместе с ОС. Пытаюсь запустить сервер в первый раз:
root@gw ~]# mysqld_safe &
[1] 7177
[root@gw ~]# nohup: ввод игнорируется, поток ошибок перенаправляются на стандартный вывод
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
080711 12:26:20 mysqld endedmysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[1]+ Done mysqld_safe
В имеющихся у меня книжках такой исход запуска не предвидится. Лезу в лог - там такие сообщения:
080711 12:26:20 mysqld started
nohup: ввод игнорируется
080711 12:26:20 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
080711 12:26:20 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 36808.
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
080711 12:26:20 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
080711 12:26:20 InnoDB: Started; log sequence number 0 43655
080711 12:26:20 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
080711 12:26:20 mysqld ended
Я не специалист по MySQL, но бросаются в глаза строки про InnoDB - причем тут она? И почему эта база данных не была нормально остановлена? Впрочем, возможно не это главное. Почему не найдена таблица mysql.host? Что-то не так в конфиге? Привожу конфигурационный файл /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Файл был создан при установкеа, поэтому я в нем ничего не менял. Да и не знаю, что менять. Помогите пожалуйста найти ошибку. Очень нужна MySQL!!
/sbin/service mysql status
При необходимости /sbin/service mysql start
>/sbin/service mysql status
>При необходимости /sbin/service mysql startНе выходит:
[root@gw ~]# /sbin/service mysql status
mysql: нераспознанная служба
[root@gw ~]# /sbin/service mysql start
mysql: нераспознанная служба
Попытался запустить службу под Иксами из KDE-шного апплета Службы. Не стартует:
mysqld failed. The error was: Timeout error occurred trying to start MySQL Daemon.
Запускается MySQL: [ СБОЙ ]
>[оверквотинг удален]
>[root@gw ~]# /sbin/service mysql start
>mysql: нераспознанная служба
>
Если дать такие команды:
[root@gw ~]# /sbin/service mysqld status
mysqld остановлен
[root@gw ~]# /sbin/service mysqld start
Timeout error occurred trying to start MySQL Daemon.
Запускается MySQL: [ СБОЙ ]
тоже нифига не стартует. Логи такие-же.
>080711 12:26:20 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't existВ книжках не пишется, что при первом старте мускуля нужно создать базы?
/usr/bin/mysql_install_db (или где там он у тебя)
/sbin/service mysqld start
>>080711 12:26:20 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
>
>В книжках не пишется, что при первом старте мускуля нужно создать базы?
>
>
>/usr/bin/mysql_install_db (или где там он у тебя)
>
>/sbin/service mysqld startПри первом запуске базы сами создаются. Если mysql устанавливался из rpm
>>>080711 12:26:20 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
>>
>>В книжках не пишется, что при первом старте мускуля нужно создать базы?
>>
>>
>>/usr/bin/mysql_install_db (или где там он у тебя)
>>
>>/sbin/service mysqld start
>
>При первом запуске базы сами создаются. Если mysql устанавливался из rpmРазумеется, конечно, вы абсолютно правы. Всё всегда происходит само собой. Вот только объясните мне почему не запускается мускуль и откуда взялась эта ошибка?
>[оверквотинг удален]
>>>
>>>/usr/bin/mysql_install_db (или где там он у тебя)
>>>
>>>/sbin/service mysqld start
>>
>>При первом запуске базы сами создаются. Если mysql устанавливался из rpm
>
>Разумеется, конечно, вы абсолютно правы. Всё всегда происходит само собой. Вот только
>объясните мне почему не запускается мускуль и откуда взялась эта ошибка?
>Спасибо большое. Помогло. Действительно почему-то в установленная вместе с дистрибутивом MySQL небыло создано баз данных. Теперь все работает. А вот ни в одной книжке (у меня их три штуки, плюс пара статей из инета) небыло указано об этом.
Ну тогда забросьте эти книжки и откройте родной мануал мускула, читается легче многих книжек, а главное избавлен от аффтарских глупостей. Также не стоит брать в качестве первого дистра федору дабы не бороться еще и проблемами, порожденными ментейнерами.
Единственный форум, где нормальный ответ на вопрос нашёл! Спасибо!!! Действительно по умолчанию ни одной базы не создается при установке MySQL. Из-за этого такой косяк.