Застрял на создании таблиц привилегий. Без chroot таблицы привилегий нормально создаются командой:
cd /usr
mysql_install_db --user=mysql --datadir=/baza --basedir=/usr
Для chroot в /etc/my.conf прописываю:
chroot = /chroot/mysql
В этой папке создаю каталоги:
/dev /bin /etc /baza /usr /tmp /var /var/tmp
переношу в них все файлы и библиотеки необходимые для mysql так же переношу файлы passwd, hosts, my.conf, group, resolv.conf из passwd и group удаляю всех пользователей кроме пользователя mysql
Все права и пользователи на файлы и папки такие же как и в основной системе.
Теперь таблицы привилегий создаю командой:
cd /chroot/mysql/usr
mysql_install_db --user=mysql --language=russian --datadir=/chroot/mysql/baza --basedir=/chroot/mysql/usr
в этой команде добавляю опцию --language=russian что бы был найден файл errmsg.sys так как в chroot нет локализации, в основной системе локализация:
LANG=ru_RU.UTF-8 LC_CTYPE=«ru_RU.UTF-8» LC_NUMERIC=«ru_RU.UTF-8» LC_TIME=«ru_RU.UTF-8» LC_COLLATE=«ru_RU.UTF-8» LC_MONETARY=«ru_RU.UTF-8» LC_MESSAGES=«ru_RU.UTF-8» LC_PAPER=«ru_RU.UTF-8» LC_NAME=«ru_RU.UTF-8» LC_ADDRESS=«ru_RU.UTF-8» LC_TELEPHONE=«ru_RU.UTF-8» LC_MEASUREMENT=«ru_RU.UTF-8» LC_IDENTIFICATION=«ru_RU.UTF-8» LC_ALL=ru_RU.UTF-8
но таблицы привилегий не создаются, а выдаются вот такие ошибки:
Installing MySQL system tables...
120617 14:29:46 [ERROR] Can't find messagefile '/chroot/mysql/usr/share/mysql/russian/errmsg.sys'
120617 14:29:46 [Warning] Can't create test file /chroot/mysql/baza/server.lower-test
120617 14:29:46 [Warning] Can't create test file /chroot/mysql/baza/server.lower-test
/srv/mysql/usr/sbin/mysqld: Can't change dir to '/chroot/mysql/baza/' (Errcode: 2)
120617 14:29:46 [ERROR] Aborting
120617 14:29:46 [Note]
Installation of system tables failed! Examine the logs in
/chroot/mysql/baza for more information.
You can try to start the mysqld daemon with:
shell> /chroot/mysql/usr/sbin/mysqld --skip-grant &
and use the command line tool /chroot/mysql/usr/bin/mysql
to connect to the mysql database and look at the grant tables:
shell> /chroot/mysql/usr/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /chroot/mysql/baza that may be helpful.
Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS. Another information source are the
MySQL email archives available at http://lists.mysql.com/.
Please check all of the above before mailing us! And remember, if
you do mail us, you MUST use the /chroot/mysql/usr/scripts/mysqlbug script!
Первая ошибка пишет что нет файла:
[ERROR] Can't find messagefile '/chroot/mysql/usr/share/mysql/russian/errmsg.sys'
Хотя этот файл есть.
Подскажите пожалуйста как решить проблему и стоит ли запускать mysql в chroot? может это настолько сложное и трудоёмкое занятие что этим не стоит и заниматься?