>Создал в /usr/local/mysql /usr/local/mysql, в нем /data, /share/mysql , скопировал в
>него все файлы charsets, сообщений на разных языках.
>
Во, теперь другое дело. Таким же образом нужно создать/разложить копии всех каталогов и файлов, которые могут понадобиться mysqld для работы. Например, /usr/local/mysql/data/db, где будут лежать собственно базы.
Кстати, по идее, чтобы не городить огород, можно было бы попробовать сделать проще:
Поставить в my.cnf вместо basedir=/usr/local/mysql basedir=/
и во всех остальных путях типа datadir=/usr/local/mysql/data/db и т.п. просто вырезать начальное "/usr/local/mysql". Тогда ничего не надо переносить. Хотя тогда пути типа /etc, /bin и т.п., которые тоже будут нужны, будут вперемежку с папками mysql.
>MySql запускается , в логе :
>
>31216 17:47:14 mysqld started
>Warning: Ignoring user change to 'mysql' because the user was set to
>'mysql' earlier on the command line
>
Это одно.
>Fatal error: Can't change to run as user 'mysql' ; Please
>check that the user exists!
>
А вот это уже совсем другое.
>Теперь похоже ему нужно создать /etc/passwd с пользователем mysql.
>Чем и буду заниматься.
>
Верно. Рекомендуется взять копию etc/master.password, удалить в ней всех лишних пользователей, кроме mysql, а потом создать из нее новые базы pwd.db и spwd.db, сама копия и полученный passwd потом не нужны.
Также понадобится копия /etc/group, в которой также оставить только mysql.
Ну а дальше сам увидишь, если еще что понадобится - ругнется.
Я так чрутил mysql и apache. Только не в my.cnf указывал chroot=..., а сам mysqld (и httpd соответственно) запускал через команду chroot. Так что mysqld вообще не подозревает, что что-то не так. :-)
Так вот файлов и папок продублировать по новым путям пришлось предостаточно.
Удачи!