Ответы:
Откройте Windows CLI как администратор и завершите работу MySQL
net stop mysql
Скопируйте данные в D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Создать или редактировать C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Добавьте это к my.ini
[mysqld]
datadir = D:/ProgramData/Data
Запуск MySQL
net start mysql
Если вы не можете выполнить net start mysql
, попробуйте панель управления Windows.
Войдите в MySQL и убедитесь, что все хорошо
Когда вы входите в MySQL, запустите этот
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Не забудьте дать вашему новому каталогу данных те же полные права доступа для пользователей Network Service и Administrator, которые использовались по умолчанию для каталога данных, в противном случае это вызовет страшную ошибку «запущен, а затем остановлен». Не удаляйте этот каталог, пока не убедитесь, что ваш новый работает.
Если это не работает, вот план отката:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Добавление текущего ответа для MySQL server 8.0 в Windows 10 о том, как изменить каталог базы данных после установки (я искал его в Интернете и не нашел решения и почти сошел с ума, поэтому надеюсь, что это кому-нибудь поможет).
Первые шаги такие же, как в других обычных инструкциях для MySQL Server 5.6. Единственная разница в основном 3-й шаг:
Перейдите в службы (например, нажмите WIN + R, введите services.msc
, нажмите Enter) и остановите MySQL80
службу, щелкнув правой кнопкой мыши и нажав «Стоп» (имя службы указывается во время установки, поэтому имя может отличаться для вас).
Переместите папку базы данных туда, куда вы хотите. Начальное местоположение обычно C:\ProgramData\MySQL\MySQL Server 8.0\data
. Внутри C:\ProgramData\MySQL\MySQL Server 8.0\
папки должен быть my.ini
файл. Откройте его, чтобы отредактировать его с помощью Notepad ++ (или какого-либо другого блокнота) и найдите строки, которые упоминают старое местоположение в той или иной форме. Там должно быть два вхождения (один для datadir
, один для secure-file-priv
). Переименуйте оба в соответствующее новое местоположение (возможно, достаточно просто переименовать datadir
деталь, но лучше быть в безопасности, чем потом сожалеть). Первоначально они обычно выглядят так:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
и
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Поэтому, если новое местоположение должно быть E:/MySQL/MySQL Server 8.0/...
, переименуйте обе записи следующим образом:
datadir=E:/MySQL/MySQL Server 8.0/Data
и
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Теперь, после перемещения базы данных и переименования записей в my.ini
файле, прежде чем вы снова перезапустить службу, откройте редактор реестра (например , нажмите WIN + R, введите «Regedit», нажмите клавишу ВВОД), перейдите к Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(еще раз, MySQL80
является имя службы службы MySQL, которую вы выбрали во время установки и которая может отличаться от MySQL80
), щелкните правой кнопкой мыши ImagePath
запись и выберите «изменить». Там должна быть строка, похожая на эту:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
По сути, это ссылка на фактический exe-файл, выполняемый службой с дополнительным параметром config-file, а именно на тот my.ini
файл, который мы изменили ранее. Поэтому здесь, конечно, путь к файлу конфигурации также необходимо обновить, поскольку он был перемещен, поэтому для этого примера он будет изменен на:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Обратите внимание, что, конечно, необходимо изменить только путь к файлу конфигурации.
Теперь услуга может быть запущена снова! Снова перейдите к сервисам и щелкните правой кнопкой мыши MySQL80
сервис, чтобы снова выбрать опцию «Пуск», и он должен перезагрузиться без проблем. Если шаг 3 пропущен, перезапуск обычно не будет работать!