Перенос пользователей mysql на другой сервер

Я создал mysqldump --all-databases и передал все мои базы данных на новый сервер. Это не сработало как debian-sys-maintпароль пользователя не совпадают. Поэтому я меняю пароль этого пользователя. После этого я перезагрузил сервер и получил эту ошибку.

ошибка 1577 (HY000) в строке 1: невозможно продолжить, потому что системные таблицы используемые планировщиком событий были найдены поврежденными при ошибке запуска сервера 1547 (HY000) в строке 1: количество столбцов mysql.proc-это неправильно. Ожидается, что 20, найден 16. Таблица вероятно, поврежден

Я не знаю, сколько еще ошибок будет после этого. Поэтому я думал создать дамп только с базами данных, которые связаны с моими приложениями (mysqldump --databases).

как перенести пользователей? Есть ли стандартный способ?

Дополнительная Информация:

New Server version: 5.1.63-0+squeeze1 (Debian)
Old Server version: 5.0.51a-24+lenny5 (Debian)

1 ответов


вам, вероятно, нужно запустить mysql_upgrade, так как ваши версии MySql отличаются.

как правило, однако, не копируйте mysql схема системы от одного сервера к другому. Как следствие, и насколько я знаю, нет "стандартного" способа копирования пользователей и привилегий пользователей с одного сервера на другой.

Если вы действительно хотите/должны сделать это, попробуйте следующее:

$> mysql --silent --skip-column-names -e"show grants for user@host"

выше выходов GRANT операторы, которые можно сразу же отправить на целевой сервер для создания пользователя и предоставления тех же разрешений.

однако, если ваш целевой сервер пуст, вы можете просто переместить всю папку данных со старого сервера на новый сервер, а затем запустить стандартный процедура обновления с 5.0 до 5.1 на новом сервере.