Не запускается MySql

12
O
На сайте с 30.06.2006
Offline
46
11528

061028 05:27:56  mysqld started

061028 5:27:56 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
061028 05:27:56 mysqld ended

Сервер:

FreeBsd 5.5

mysql-client-4.1.18_1

mysql-server-4.1.18_2

Собственно, как вылечить? Запускать со своими правами неохота...Кстати, а где хоть этот файл должен находиться? В текущей директории?

Lupus
На сайте с 02.11.2002
Offline
241
#1
Orlangur:
Кстати, а где хоть этот файл должен находиться?

Он должен находиться в mysql_dbdir (/var/db/mysql). Кстати, права на эту директорию должны быть правильно выставлены. Можете попробовать перевести с английского эту фразу: "mysqld does not have the access rights to the directory."

Попробуйте так:

chown -R mysql:mysql /var/db/mysql

Да, а что значит эта фраза:

Orlangur:
Запускать со своими правами неохота...

Вы что, будучи непривелигированым юзером, хотите поднять себе отдельную базу? Под каким uid вы в консоли?

There are two types of people in this world: 1. Those who can extrapolate from incomplete data.
O
На сайте с 08.01.2002
Offline
157
og
#2
Orlangur:

InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.


Собственно, как вылечить? Запускать со своими правами неохота...Кстати, а где хоть этот файл должен находиться? В текущей директории?

VPS? =)

см. /var/db/mysql

по идее mysql должен пускаться от юзера mysql ;)

тоесть права на все файлы и подкаталоги должны принадлежать

пользователю mysql если это не так, то:

cd /var/db

chown -R mysql mysql

Если mysql ставился из портов, то в /usr/local/etc/rc.d

должен лежать скрипт старта mysql'я: mysql-server

от рута сделать /usr/local/etc/rc.d/./mysql-server start

И Сервер поднимется под пользователем mysql.

Все права будут соответствовать.

Пока мы живы, смерти нет. Когда придёт она, не будет нас.
O
На сайте с 30.06.2006
Offline
46
#3
Lupus:
Вы что, будучи непривелигированым юзером, хотите поднять себе отдельную базу?

Да под рутом я...куда уж дальше :) Да и английский чуть понимаю...Только не знал про юзера mysql. Это мой первый сервер, так что я пока скорее учусь ))) И, в принципе, как перемещаться и менять права знаю, так что не полный нуб ;)

og:
VPS? =)

VDS ))) А инсталлировал sysinstall-ом

061028 06:19:21  mysqld started

InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
061028 6:19:21 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
061028 6:19:21 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
061028 6:19:22 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
061028 6:19:22 InnoDB: Started; log sequence number 0 0
061028 6:19:22 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
061028 06:19:22 mysqld ended

Теперь такой вопрос -- а где эта таблица должна существовать, и как её собственно создать?

ЗЫ: Почему у меня впечатление, что эта таблица должна существовать заранее, и просто так её руками не создашь? ((((

Lupus
На сайте с 02.11.2002
Offline
241
#4
Orlangur:
Теперь такой вопрос -- а где эта таблица должна существовать, и как её собственно создать?
ЗЫ: Почему у меня впечатление, что эта таблица должна существовать заранее, и просто так её руками не создашь? ((((

Есть несколько утилит в поставке mysql. Например: mysql_install_db.

А вообще, надо бы вам README мускуля почитать. Там порядок действий подробно расписан.

O
На сайте с 08.01.2002
Offline
157
og
#5
Orlangur:

Теперь такой вопрос -- а где эта таблица должна существовать, и как её собственно создать?
ЗЫ: Почему у меня впечатление, что эта таблица должна существовать заранее, и просто так её руками не создашь? ((((

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

Из пэкэджей ставится только сам mysql без баз.

Скрипт /usr/local/etc/rc.d/mysql-server есть?

При первом старте он сам запускает все необходимые скрипты, в том числе и

создаёт базу с настройками.

Ну или как резонно пишет Lupus надо запустить mysql_install_db и т.д.

как описасно в доке.

Lupus
На сайте с 02.11.2002
Offline
241
#6

Вообще-то под фрей я бы посоветовал такой способ установки mysql:


cd /usr/ports/databases/mysql41-server
make WITH_CHARSET=cp1251 WITH_XCHARSET=all WITH_COLLATION=cp1251_general_ci install

В этом случае все будет правильно установлено сразу.

(Последнюю строку можно исправить, если будут другие кодировки)

O
На сайте с 08.01.2002
Offline
157
og
#7
Lupus:
Вообще-то под фрей я бы посоветовал такой способ установки mysql:
В этом случае все будет правильно установлено сразу.
(Последнюю строку можно исправить, если будут другие кодировки)

Думаю под VDS нет портов =) (хотя никто не мешает их развернуть)

В целом согласен, собраный на сервере mysql будет работать явно лучше,

чем у какого-то дяди и положеный им в пэкэджи. Плюс если порты обновлены скажем через cvsup, тобудут иметь всегда свежую версию + необходимые под фрю патчи.

O
На сайте с 30.06.2006
Offline
46
#8
Lupus:
А вообще, надо бы вам README мускуля почитать. Там порядок действий подробно расписан.

Если спрошу, где он находится, не сильно пинать будете? )))

А после mysql_install_db такое


061028 07:01:20 mysqld started
061028 7:01: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...
061028 7:01:20 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 43634.
InnoDB: Doing recovery: scanned up to log sequence number 0 43634
061028 7:01:20 InnoDB: Flushing modified pages from the buffer pool...
061028 7:01:20 InnoDB: Started; log sequence number 0 43634
061028 7:01:20 [ERROR] /usr/local/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
061028 7:01:20 [ERROR] /usr/local/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
061028 7:01:20 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
061028 07:01:20 mysqld ended

og:
Скрипт /usr/local/etc/rc.d/mysql-server есть?

Есть mysql-server.sh, но с позором признаюсь, что не понял синтаксис команды ((((

Usage: ./mysql-server.sh [fast|force|one](start stop restart rcvar status poll)

O
На сайте с 30.06.2006
Offline
46
#9

А вообщем, просто тыкните мордой, где Readme к нему или man, дальше буду сам разбираться...

Lupus
На сайте с 02.11.2002
Offline
241
#10
Orlangur:
Есть mysql-server.sh, но с позором признаюсь, что не понял синтаксис команды ((((
Usage: ./mysql-server.sh [fast|force|one](start stop restart rcvar status poll)

/usr/local/etc/rc.d/mysql-server start

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий