Cambio de directorio de datos en el servidor de base de datos MySQL

10

He instalado el servidor mysql 5.6.24 en Windows Server 2012 R2.

Importé archivos de volcado y los archivos de datos se almacenan en C:\ProgramData\MySQL\MySQL Server 5.6\data

Quiero cambiar el directorio como D:\ProgramData\Data.

¿Puedes ayudarme, alguien?

usuario73314
fuente

Respuestas:

10
  1. Abra la CLI de Windows como administrador y apague MySQL

    net stop mysql
  2. Copie los datos a D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  3. Crear o editar C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    Agregue esto a la my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
    
  4. Inicio MySQL

    net start mysql

    Si no puede ejecutar net start mysql, pruebe el panel de control de Windows.

  5. Inicie sesión en MySQL y verifique que todo esté bien

Cuando inicie sesión en MySQL, ejecute esto

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

Recuerde otorgar a su nuevo directorio de datos los mismos permisos completos para los usuarios del Servicio de red y Administrador que estaba usando el directorio de datos predeterminado; de lo contrario, provocará el temido error "iniciado y luego detenido". No elimine este directorio hasta que esté seguro de que su nuevo está funcionando.

Si esto no funciona, aquí está el plan de reversión:

net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
RolandoMySQLDBA
fuente
0

Agregando una respuesta actual para el servidor MySQL 8.0 en Windows 10 sobre cómo cambiar el directorio de la base de datos después de la instalación (lo busqué en Internet y no encontré una solución y casi me vuelvo loco, así que espero que esto ayude a alguien).

Los primeros pasos son los mismos que en las otras instrucciones habituales para MySQL Server 5.6. La única diferencia es básicamente el tercer paso:

  1. Vaya a los servicios (por ejemplo, presione WIN + R, escriba services.msc, presione Intro) y detenga el MySQL80servicio haciendo clic derecho y haciendo clic en 'detener' (el nombre del servicio se especifica durante la instalación, por lo que el nombre puede ser diferente para usted).

  2. Mueva la carpeta de la base de datos a donde quiera. La ubicación inicial es generalmente C:\ProgramData\MySQL\MySQL Server 8.0\data. Dentro de la C:\ProgramData\MySQL\MySQL Server 8.0\carpeta, debe haber un my.iniarchivo. Ábralo para editarlo con Notepad ++ (o algún otro bloc de notas) y busque las líneas que mencionan la ubicación anterior de alguna forma. Debería haber dos ocurrencias (una para datadir, una para secure-file-priv). Cambie el nombre de ambos a la nueva ubicación correspondiente (posiblemente sea suficiente con cambiar el nombre de la datadirparte, pero es mejor prevenir que curar). Inicialmente, generalmente se verían así:

    datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

    y

    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

    Entonces, si la nueva ubicación debe ser E:/MySQL/MySQL Server 8.0/..., cambie el nombre de ambas entradas de esta manera:

    datadir=E:/MySQL/MySQL Server 8.0/Data

    y

    secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
  3. Ahora, después de mover la base de datos y cambiar el nombre de las entradas en el my.iniarchivo, ANTES de reiniciar el servicio nuevamente, abra el editor del registro (por ejemplo, presione WIN + R, escriba "regedit", presione enter), navegue hasta Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(una vez más, MySQL80es el nombre del servicio del servicio MySQL que eligió durante la instalación y puede ser diferente MySQL80) y haga clic con el botón derecho en la ImagePathentrada y elija modificar. Debería aparecer una cadena similar a esta:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Esto es básicamente el enlace al archivo exe real ejecutado por el servicio con un parámetro de archivo de configuración adicional, es decir, ese my.iniarchivo que modificamos anteriormente. Por lo tanto, aquí, por supuesto, la ruta al archivo de configuración también debe actualizarse, ya que se movió, por lo que para este ejemplo, se cambiaría a:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Tenga en cuenta que, por supuesto, solo se debe cambiar la ruta del archivo de configuración.

  4. ¡Ahora el servicio se puede iniciar de nuevo! Vaya a los servicios nuevamente y haga clic derecho en el MySQL80servicio para elegir la opción 'iniciar' nuevamente y debería reiniciarse sin problemas. Si se salta el paso 3, el reinicio generalmente no funcionará.

kushy
fuente