Ответы:
Откройте 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 пропущен, перезапуск обычно не будет работать!