2013-05-16 2 views
1

Чтобы обновить нашу платформу развертывания приложений из Windows к Ubuntu Linux Server, нам нужно скопировать MySQL InnoDB database с ОС Windows на сервер Linux, и я попробовал 2 способа сделать это:Как скопировать базу данных MySQL InnoDB с сервера Windows на сервер Ubuntu Linux?

1, используйте mysqldump инструмент для экспорта в sql, а затем импортировать его с сервера Linux, таким образом, возникло множество проблем, таких как таблицы с символом китайского символа и таблицы типа InnoDB.

2, непосредственно copy файл базы данных (под mysql/data/) в папке данных Linux MySQL (/var/lib/mysql/) и перезапустить MySQL, и набрав командные строки, я могу увидеть базу данных, мы скопировали, и может видеть все таблицы в базе данных, но когда я набираю командную строку 'select * from sample_table', отображается ошибка 'ERROR 1146 (42S02): Table 'sampleSchema.sample_table' doesn't exist', я знаю, что эта таблица действительно существует. Я не понимаю, почему это произошло.

Так надейтесь, что кто-нибудь знает, что это мне помогает, спасибо.

ответ

3

Если вы можете получить доступ к Ubuntu Server удаленно с ПК с Windows, вы можете использовать MySQL Workbench 5.2

+0

Спасибо. Я не могу этого сделать, потому что сервер Ubuntu Linux может получить доступ по локальной сети по соображениям безопасности. Если этот способ, скорее всего, поможет мне решить проблему, я попрошу моего менеджера разрешить это. –

+0

Конечно. MySQL Workbench - это новый инструмент для разработки MySQL, кроме phpmyadmin. У них есть эта новая функция миграции данных. –

+0

Хорошо. Мне назначено разрешение на установку MySQL, поэтому я прокомментирую конфигурацию 'bind-address = 127.0.0.1' в '/etc/mysql/my.cnf' и перезагрузите MySQL, а затем я хочу, чтобы пользователям нравится набирать grand all privileges на *. * на root @ '%', всегда отображается ошибка: используйте около 'grand all privileges on *. * to root @'% 'в строке 1, как мне это сделать? –