[решено] меняем datadir для mysql в убунту-сервер (Получаем ошибки.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

tierpunk
Сообщения: 78
ОС: Ubuntu, Debian, Centos

[решено] меняем datadir для mysql в убунту-сервер

Сообщение tierpunk »

Всем доброго времени суток.

Имею необходимость смены места хранения БД от mysql, полностью останавливаю mysql, проверая по ps aux | grep mysql там пусто, лезу в /etc/mysql/my.cnf и меняю значение datadir c datadir = /var/lib/mysql , на datadir = /mnt/var/mysql после копирую содержимое из /var/lib/mysql в /mnt/var/mysql, запускаю sudo /etc/init.d/mysql start и получаю fail..... лезу в /var/log/syslog а там:

Код: Выделить всё

Oct 7 16:48:12 butt-head kernel: [12545.182903] audit(1223383692.175:31): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/mysql/butt-head.lower-test" pid=8559 profile="/usr/sbin/mysqld" namespace="default"
Oct 7 16:48:12 butt-head mysqld[8561]: 081007 16:48:12 [Warning] Can't create test file /mnt/var/mysql/butt-head.lower-test
Oct 7 16:48:12 butt-head kernel: [12545.184154] audit(1223383692.175:32): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/mysql/butt-head.lower-test" pid=8559 profile="/usr/sbin/mysqld" namespace="default"
Oct 7 16:48:12 butt-head mysqld[8561]: 081007 16:48:12 [Warning] Can't create test file /mnt/var/mysql/butt-head.lower-test
Oct 7 16:48:12 butt-head kernel: [12545.186260] audit(1223383692.175:33): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/log/mysql/mysql.log" pid=8559 profile="/usr/sbin/mysqld" namespace="default"
Oct 7 16:48:12 butt-head mysqld[8561]: ^G/usr/sbin/mysqld: File '/mnt/var/log/mysql/mysql.log' not found (Errcode: 13)
Oct 7 16:48:12 butt-head mysqld[8561]: 081007 16:48:12 [ERROR] Could not use /mnt/var/log/mysql/mysql.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
Oct 7 16:48:12 butt-head kernel: [12545.187358] audit(1223383692.175:34): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/log/mysql/mysql-slow.log" pid=8559 profile="/usr/sbin/mysqld" namespace="default"
Oct 7 16:48:12 butt-head mysqld[8561]: ^G/usr/sbin/mysqld: File '/mnt/var/log/mysql/mysql-slow.log' not found (Errcode: 13)
Oct 7 16:48:12 butt-head mysqld[8561]: 081007 16:48:12 [ERROR] Could not use /mnt/var/log/mysql/mysql-slow.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restar
t it.
Oct 7 16:48:12 butt-head kernel: [12545.188306] audit(1223383692.175:35): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/log/mysql/mysql-bin.index" pid=8559 profile="/usr/sbin/mysqld" namespace="default"
Oct 7 16:48:12 butt-head mysqld[8561]: ^G/usr/sbin/mysqld: File '/mnt/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
Oct 7 16:48:12 butt-head mysqld[8561]: 081007 16:48:12 [ERROR] Aborting


Пробовал права дать 777 на все папки и под папки ноль, тоже самое пишет.

Перепробовали все что только можно, создавали папку в home ноль эмоций, делали мягкую ссылку, физицески папка в /mnt/var/, а ссылка в /var/lib/ в конф файле прописан datadir = /var/lib/mysql та же запись в syslog, а удалить мягкую ссылку и скопировать оригинал папки из /mnt/ в /var/ то все ок, запускаеться......


Помогите найти ошибку.

ps права на папку проверял все в порядке
pss версия ubuntu - server - 8.04
psss версия mysql-server-5.0.2



Все спасибо всем большое, проблему решил, мне apparmor не нужен и я его удалил,
но предварительно попробовал и запустить вместе с ним, изменил в файле /etc/apparmor.d/usr.sbin.mysqld

Код: Выделить всё

....
/mnt/var/mysql/ r,
/mnt/var//mysql/** rwk,
/mnt/var/log/mysql/ r,
/mnt/var/log/mysql/* rw,
....


после скопировал папку из /var/lib/mysql в /mnt/var/mysql и все запустилось =)
Спасибо за то что ответили на моё сообщение.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: [решено] меняем datadir для mysql в убунту-сервер

Сообщение KiWi »

selinux?
Спасибо сказали:
tierpunk
Сообщения: 78
ОС: Ubuntu, Debian, Centos

Re: [решено] меняем datadir для mysql в убунту-сервер

Сообщение tierpunk »

KiWi писал(а):
07.10.2008 20:06
selinux?

хммм... а как его проверить? он виновать или нет...

вот еще

Код: Выделить всё

Oct  7 17:33:32 butt-head mysqld[5853]: 081007 17:33:32 [Warning] Can't create test file /mnt/var/mysql/butt-head.lower-test
Oct  7 17:33:32 butt-head kernel: [  567.667363] audit(1223386412.797:10): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/mnt/var/mysql/ibdata1" pid=5851 profile="/usr/sbin/mysqld" namespace="default"
Oct  7 17:33:32 butt-head mysqld[5853]: 081007 17:33:32  InnoDB: Operating system error number 13 in a file operation.
Oct  7 17:33:32 butt-head mysqld[5853]: InnoDB: The error means mysqld does not have the access rights to
Oct  7 17:33:32 butt-head mysqld[5853]: InnoDB: the directory.
Oct  7 17:33:32 butt-head mysqld[5853]: InnoDB: File name ./ibdata1
Oct  7 17:33:32 butt-head mysqld[5853]: InnoDB: File operation call: 'create'.
Oct  7 17:33:32 butt-head mysqld[5853]: InnoDB: Cannot continue operation.
Спасибо за то что ответили на моё сообщение.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: [решено] меняем datadir для mysql в убунту-сервер

Сообщение KiWi »

sestatus
Спасибо сказали:
tierpunk
Сообщения: 78
ОС: Ubuntu, Debian, Centos

Re: [решено] меняем datadir для mysql в убунту-сервер

Сообщение tierpunk »

KiWi писал(а):
07.10.2008 21:16
sestatus

=) ок как только буду на работе отпишу что выдало.
Спасибо за то что ответили на моё сообщение.
Спасибо сказали:
tierpunk
Сообщения: 78
ОС: Ubuntu, Debian, Centos

Re: [решено] меняем datadir для mysql в убунту-сервер

Сообщение tierpunk »

нет selinux не установлен, команды sestatus нет вообще. проблема все еще актуальна.
но вот что я нашел

Код: Выделить всё

gw@butt-head:~$ sudo apparmor_status
apparmor module is loaded.
1 profiles are loaded.
1 profiles are in enforce mode.
   /usr/sbin/mysqld
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode :
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.


Подскажите как apparmor может влиять на mysql и как решить мою проблему ?

/me ушел читать про app_armor
Спасибо за то что ответили на моё сообщение.
Спасибо сказали: