![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.8.63] |
![]() |
|
![]() | Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Сообщ.
#2
,
|
|
|
Так вы же html запихнули вместо sql
Грубо говоря в данных есть символы перевода строки, которые не были учтены в сгенерированных запросах и потому синтаксис запросов составлен не верно. Из-за этого в качестве запроса идет попытка исполнения этого html текста. |
Сообщ.
#3
,
|
|
|
Вы имеете в виду в каких то полях таблиц есть данные с html и поэтому ошибка?
Если так, то в некоторых таблицах хранятся описания товаров с html тегами. Как тогда дамп выгрузить/загрузить? |
Сообщ.
#4
,
|
|
|
Цитата rownong@yandex.ru @ Как тогда дамп выгрузить/загрузить? ChatGPT рекомендуэ ![]() Для экспорта и импорта данных в phpMyAdmin вам потребуется выполнить следующие шаги: Экспорт данных: 1) Войдите в phpMyAdmin. 2) Выберите базу данных, которую вы хотите экспортировать. 3) Нажмите на вкладку "Экспорт". 4) Выберите таблицы, которые вы хотите экспортировать, или оставьте значение по умолчанию для всех таблиц. 5) Выберите желаемый формат экспорта, например, SQL. 6) Нажмите "OK", чтобы начать процесс экспорта. Импорт данных: 1) Войдите в phpMyAdmin. 2) Выберите базу данных, в которую вы хотите импортировать данные. 3) Нажмите на вкладку "Импорт". 4) Выберите файл с данными для импорта. 5) Нажмите "OK", чтобы начать процесс импорта. |
Сообщ.
#5
,
|
|
|
Цитата Majestio @ Цитата rownong@yandex.ru @ Как тогда дамп выгрузить/загрузить? ChatGPT рекомендуэ ![]() Для экспорта и импорта данных в phpMyAdmin вам потребуется выполнить следующие шаги: Экспорт данных: 1) Войдите в phpMyAdmin. 2) Выберите базу данных, которую вы хотите экспортировать. 3) Нажмите на вкладку "Экспорт". 4) Выберите таблицы, которые вы хотите экспортировать, или оставьте значение по умолчанию для всех таблиц. 5) Выберите желаемый формат экспорта, например, SQL. 6) Нажмите "OK", чтобы начать процесс экспорта. Импорт данных: 1) Войдите в phpMyAdmin. 2) Выберите базу данных, в которую вы хотите импортировать данные. 3) Нажмите на вкладку "Импорт". 4) Выберите файл с данными для импорта. 5) Нажмите "OK", чтобы начать процесс импорта. Вы ознакомились с моим первым постом? Там описана проблема и указано почему нельзя сделать так как вы написали. |
Сообщ.
#6
,
|
|
|
Цитата rownong@yandex.ru @ Вы имеете в виду в каких то полях таблиц есть данные с html и поэтому ошибка? Если так, то в некоторых таблицах хранятся описания товаров с html тегами. Как тогда дамп выгрузить/загрузить? Нет. Я имею ввиду, что при сохранении (формировании запросов) была допущена ошибка в них из-за наличия в данных переносов строк и символов " без экранирования. Это разбило запрос на несколько из-за чего при загрузке в базу происходят ошибки только в определенных из них. На картинке видно, что 13779 запросов прошли без ошибок, а только два из 13781 запроса содержат не правильно сформированные данные (из-за формата html или чего-то еще). Они и выдали ошибки. Чтобы не искать строки с ошибками вручную вам выдали в сообщении текст, на котором споткнулся импорт. Просто в текстовом редакторе найдите этот текст и исправьте эти два оставшихся запроса. |
Сообщ.
#7
,
|
|
|
Цитата rownong@yandex.ru @ Вы ознакомились с моим первым постом? Там описана проблема и указано почему нельзя сделать так как вы написали. Можно попробовать утилитами из командной строки. Бэкап ![]() ![]() mysqldump --user=root --password=root --add-drop-database your_db .\backup\your_db.sql Восстановление ![]() ![]() mysql --user=root --password=root --execute="DROP DATABASE your_db" mysql --user=root --password=root --execute="CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;" mysql --user=root --password=root --execute="GRANT ALL PRIVILEGES ON your_db.* TO root@localhost IDENTIFIED BY 'root';" mysql --user=root --password=root your_db < your_db.sql Второй вариант - найти какого-нить клиента для MySQL, типа Navicat. Там есть свои механизмы дампа БД и восстановления. |
![]() |
Сообщ.
#8
,
|
|
Цитата rownong@yandex.ru @ Не получается импортировать базу через phpmyadmin из-за ее большого размера. С чего Вы так решили? Скриншот показывает, что при создании дампа произошла ошибка, и сам дамп разрушен. Во время создания были успешно созданы и записаны в дамп 13779 запросов, после чего процесс создания привёл к ошибке #2006 - MySQL Server has gone away. Именно сообщение об этой ошибке - причём не само сообщение, а HTML-код отображающей его в клиенте веб-страницы,- записано в файл дампа вместо запроса номер 13780. И при попытке выполнить код веб-страницы сервер ожидаемо этого сделать не может (он умеет только выполнять SQL-запросы), и процесс восстановления ломается. Соответственно надо просто сделать дамп заново. И проследить, что процесс изготовления дампа выполнен без ошибок. Сама же ошибка #2006 - MySQL Server has gone away говорит о том, что при изготовлении дампа программа-дампер обратилась к серверу с запросом, время выполнения которого превысило установленный тайм-аут ответа на запрос. А про размер на скриншоте нет ни полслова. |