leana
Новичок
как проделать mysqldump базы с хостинга на локальную машину?
Предыстория
В базе на хостинге некоторые поля отражаются "кракозябрами". Это произошло потому, что кодировка клиента отличалатсь от кодировки таблиц базы, заданной по умолчанию.
Вот здесь предлагают решение этой проблемы. Оно заключается в том, что нужно сделать дамп криво отображающейся базы, явно задав при этом кодировку:
инструментом для создания дампа на хостинге служит "phpMyAdmin", там есть закладка "EXPORT"; Проблема в том, что пользуясь phpMyAdmin, нельзя задать параметр "--default-character-set".
Я так понимаю, mysqldump можно проделать со своей машины, указав хост, порт, пользователя, пароль и имя базы. В терминале Ubuntu я ввожу вот что:
Терминал выдаёт:
Спасибо.
Предыстория
В базе на хостинге некоторые поля отражаются "кракозябрами". Это произошло потому, что кодировка клиента отличалатсь от кодировки таблиц базы, заданной по умолчанию.
Вот здесь предлагают решение этой проблемы. Оно заключается в том, что нужно сделать дамп криво отображающейся базы, явно задав при этом кодировку:
Суть проблемыДопустим, мы выяснили, что таблицы были созданы по умолчанию в кодировке latin1, а фактически в них содержатся данные в utf8. В этом случае используем команду:
mysqldump -uUSERNAME -pPASSWORD DB_NAME --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table > dump.sql
Распространненая ошибка в таких случаях - когда в --default-character-set указывают фактическую кодировку данных, в данном случае - utf8. В дампе будет мусор. Указывать надо ту, которая установлена в таблицах. В результате MySQL не будет пытаться данные перекодировать, и отдаст как есть.
инструментом для создания дампа на хостинге служит "phpMyAdmin", там есть закладка "EXPORT"; Проблема в том, что пользуясь phpMyAdmin, нельзя задать параметр "--default-character-set".
Я так понимаю, mysqldump можно проделать со своей машины, указав хост, порт, пользователя, пароль и имя базы. В терминале Ubuntu я ввожу вот что:
PHP:
sudo mysqldump -h<адрес удалённого SQL-сервера> -u<пользователь базы> -p<пароль пользователя> <имя БД> --allow-keywords --create-options --complete-insert --default-character-set=<нужная мне кодировка> --add-drop-table > /<путь к создаваемому файлу дампа на локальной машине>
Помогите разрулить ситуацию,mysqldump: Got error: 1045: Access denied for user '<мой пользователь базы>'@'<мой IP, выделенный провайдером>' (using password: YES) when trying to connect
Спасибо.