MySQL – повторная установка. Нюансы

Решил написать небольшой пост на тему повторной установки MySQL на компьютер, на котором он уже был установлен, так как столкнулся с некоторыми нюансами. А именно, выполняя всё по своей же инструкции, встретил повторяющуюся ошибку, повисание вот на этом месте…

14

 

Не помогала ни перезагрузка, ни удаление и повторная установка. Через пару часов копаний решение нашел и достаточно элегантное. 

Делаем Дамп / Backup

Я здесь не говорю о том, что при любой переустановке – неплохо бы делать дампы, или по-другому бэкапы. Предполагается, что перед сносом MySQL дампы для восстановления готовы.

Win+X>Командная строка (администратор)

Итак откроем cmd.exe и поменяем в нем директорию

Здесь нюанс состоит в том, что если открыть cmd под обычным пользователем, то есть так…

8

И поменять в нем рабочую директорию, то при дальнейшей попытке сделать дамп будет ошибка “Отказано в доступе”. Поэтому необходимо зайти под администратором.

Нужно cmd.exe открыть под админом, например через WIN+X | Выбрать Командная строка (администратор)

9

Далее пишем стандартные инструкции для бэкапа (самый простой вариант)

Для начала нам нужно заблокировать все таблицы во всех базах данных

Теперь собственно сделаем дамп или другими словами бэкап

Этот пример для дампа одной базы данных

10

test_db здесь это имя базы данных.  Бэкап сохраняется в папке BIN, в той же самой, в которой установлена утилита mysqldump.exe да и собственно mysqld.exe


Примечание из документации

Для движков InnoDB необходимо добавлять –single-transaction, например так…

Этот пример для дампа всех баз данных

Полученный .sql файл содержит набор INSERT инструкций, которые могут быть использованы, чтобы загрузить архивные таблицы позже. Также здесь применен параметр –all-databases, который сделает архив всех баз данных.


Как победить баг?

Итак, чтобы победить этот баг, нужно сделать следующее

-Удалить программу с помощью инсталлятора. Просто попробуйте инсталлировать – и она сама предложить вариант Remove.

-Включить отображение скрытых файлов и папок. В Windows 10 это можно сделать так…

      Win+X > Панель управления > Параметры проводника

-перейти в  C:\ProgramData\MySQL и удалить или куда-нибудь перенести папку MySQL Server 5.5

-Установить MySQL Server заново

Мне эти шаги помогли, но кому не поможет – почитайте ещё здесь

Устанавливаем Max_Allowed_Packet в my.ini

У меня дамп одной из баз данных был равен примерно 18 мб., а max_allowed_packet по умолчанию при установке равен 1 МБ, соотвественно, при попытке его загрузить обратно в базу выскакивала ошибка MySQL has goneAway.

Чтобы этого не происходило – зайдите в WIndows под администратором,


Если учетная запись администратора не включена, то включить её можно вот так…

Win+X –> Командная строка ( администратор )

Для включения встроенной учетной записи Администратор в русской версии Windows используйте команду

net user Администратор /active:yes

В системе с английской локализацией встроенная учетная запись администратора называется Administrator, поэтому команда будет выглядеть так:

net user Administrator /active:yes


-найдите файл

C:\Program Files\MySQL\MySQL Server 5.5\my.ini

-найдите в нем секцию

[mysqld]

-и допишите туда max_allowed_packet=1024M

1024M это максимально допустимое значение этого параметра в MySQL, можете поставить меньше, в зависимости от своей задачи.

Загружаем базу обратно, на новый сервер MySQL

-сначала вызываем консоль и заходим с данными root аккаунта

Win+R > mysql -uroot -pmasterkey

-создаем пустую базу данных с таким же именем, в моем случае имя базы, которую я архивировал было test_db

-переносим файл дампа (dump.sql) в директорию вновь установленного сервера

C:\Program Files\MySQL\MySQL Server 5.5\bin

-загружаем базу из дампа на сервер

Проверяем работу

-запускаем консоль mysql из Win+R

-просим показать все базы данных show databases

15

Ура! Всё работает и всё на месте!!!

 

This entry was posted in MySQL, Без рубрики. Bookmark the permalink.