- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Постоянно возникают проблемы при переезде сайтов. Версии MySQL разные, двиги тоже, просто настройки бывают кривые. На одном сервере дамп грузится, на другом случаются ошибки. Теперь на всякий пожарный делаю несколько дампов, с помощью разных средств — PhpMyAdmin, SypexDumper, SQLYog, HeidiSQL. Но всё равно как на пороховой бочке, постоянно ждёшь гемора.
Осознаю, что подход где-то неправильный. Чем можно создать самый правильный, стандартный дамп, который зальётся везде? Какие условия нужны для этого?
2 года переношу базы Sypex'ом. Никогда проблем не возникало.
вот через пхпмайадмин ошибок всегда куча.
Создаю дамп командой
mysqldump -u root -pxxxxx --add-drop-table dbname>file_name
в итоге бэкап имеет текстовый формат в виде команд
create table ...
insert ...
которые могут быть выполнены на любой версии mysql.
mysql -u root -pxxxx dbname <file_name
Проблем с переносом не возникает.
Создаю дамп командой
mysqldump -u root -pxxxxx --add-drop-table dbname>file_name
в итоге бэкап имеет текстовый формат в виде команд
create table ...
insert ...
которые могут быть выполнены на любой версии mysql.
mysql -u root -pxxxx dbname <file_name
Проблем с переносом не возникает.
Может у Вас и не возникает, но что их не будет при такой последовательности нельзя говорить. Бывают разные кодировки по умолчанию, дампы с версий 4.x, и вообще абсурдные ситуации когда в одной базе данные в таблицах в разных кодировках.
100% гарантированного решения не существует.
Всегда проверяйте ваши резервные копии до того как потребуется из них что-то восстановить.
Может у Вас и не возникает, но что их не будет при такой последовательности нельзя говорить. Бывают разные кодировки по умолчанию, дампы с версий 4.x, и вообще абсурдные ситуации когда в одной базе данные в таблицах в разных кодировках.
100% гарантированного решения не существует.
Всегда проверяйте ваши резервные копии до того как потребуется из них что-то восстановить.
Если в базе разные таблицы в разных кодировках – то это криворукость админа.
Если руки у админа кривые, то не один софт не даст 100% гарантии.
Если в базе разные таблицы в разных кодировках – то это криворукость админа.
Если руки у админа кривые, то не один софт не даст 100% гарантии.
Это скорее программиста/разработчика, но не админа.
А не юзера?
Как кодеры проконтролируют что юзер не зальет в 1 базу несколько движков с разными префиксами?
Бывают разные кодировки по умолчанию, дампы с версий 4.x, и вообще абсурдные ситуации когда в одной базе данные в таблицах в разных кодировках.
100% гарантированного решения не существует.
Выгрузка идет в одной кодировке, даже если содержимое таблички в разных. Поэтому если вгружать в тойже кодировке в базу с таким же коллейшеном, то все останется как было.
А кодировка при дампе делается так:
mysqldump db_name -udb_user -pdb_pass --default-character-set=cp1251 > dump.sql
Я использовал эту утилиту уже наверно много сотен раз и ни разу не было варианта, чтобы она не заработала.
Особенно тонко получается, если в сам дамп вписать SET NAMES - он тоже отработает.
Так что zexis прав, это 100% реально работающий результат.
Впрочем все утилиты командной строки более гибки, чем гуи.
А не юзера?
Как кодеры проконтролируют что юзер не зальет в 1 базу несколько движков с разными префиксами?
Он не это имел ввиду. Бывает, что установленный на движок модуль сует в базу свою кодировку. Даже в таблицу созданную движком, а не модулем. Там реальная бредятина бывает.
bugsmoran, я не стал бы говорить что это 100%. Всегда надо проверять что там в итоге сдампилось. Если бы все было как вы говорите не было бы миллионов тем на форумах о проблемах с кодировкой :)
Согласен.
Если использовать --default-character-set=cp1251 (указание точной кодировке), то проблем практически не бывает.
Потом даже не нужно ничего в дамп прописывать.
Просто:
mysql -u root -pПАРОЛЬ
>use database;
>set names 'cp1251';
>source dump.sql;
Вот так...
Если бы все было как вы говорите не было бы миллионов тем на форумах о проблемах с кодировкой :)
Наличие тем на форумах это не индикатор реального состояния проблемы. Вот даже в данном случае проблемы нет, а тема есть :)