Cambiar la ruta existente de datadir


20

Quiero cambiar la datadirruta en el my.iniarchivo.

La datadirruta existente esC:/ProgramData/MySQL/MySQL Server 5.1/Data/

El tamaño de mi C:unidad es de 30 GB y la carpeta de datos MySQL ocupa 25 GB. Entonces quiero cambiar el datadira F:/naveen/data.

es posible?

Mi máquina ejecuta Windows Server 2003 .

Respuestas:


26

De sus caminos, puedo asumir con seguridad lo siguiente:

  • Estás ejecutando MySQL en Windows
  • Usaste el MySQL MSI para instalar

Lo que debe hacer es establecer el archivo my.ini

Al instalar MySQL para Windows utilizando el MSI, se espera que la ubicación de my.ini sea C:/ProgramData/MySQL/MySQL Server 5.1.

Ejecute lo siguiente en una ventana de DOS:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

Verá algunos archivos my.ini de muestra. Sin embargo, si no hay un archivo llamado my.ini en esa carpeta, debe crear uno. Ya sea que exista o no, ejecute esto:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

Si se le pide que lo cree, hágalo.

A continuación, cree la siguiente entrada debajo del encabezado del grupo [mysqld] en my.ini:

[mysqld]
datadir=F:/naveen/data

Guardar my.ini

A continuación, detenga mysql desde la línea de comandos de DOS de esta manera:

C:\> net stop mysql

Luego, haga una copia de toda la carpeta de datos en la nueva ubicación

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Último paso, inicie mysql

C:\> net start mysql

Intenta iniciar sesión en mysql. Una vez que pueda iniciar sesión en mysql con éxito, ejecute este comando:

show variables like 'datadir';

Si F:\naveen\dataaparece como el datadir, ¡FELICITACIONES, LO HICISTE BIEN!

Una vez que esté satisfecho con todas sus aplicaciones que funcionan con MySQL, puede eliminar todo en C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Darle una oportunidad !!!


¿Puedo saber que los pasos anteriores funcionarán para Windows Server 2008?

Funciona, pero lo más probable es que obtenga el error 1067. Verifique los permisos en el nuevo directorio

2
A veces el servicio está registrado como MySQL57, primero debe verificarlo.
giannis christofakis

2
Cometí un error novato y no copié los permisos. mysql no se reiniciará. Traté de brindarle al SERVICIO DE RED acceso completo al datadir (según otras sugerencias en línea), y arrojó errores de permiso. Si esto le sucede, dele a "Todos" el control total de los subdirectorios de datos y herede a los niños. Luego vaya a la carpeta padre (datadir), habilite la herencia a través de los permisos "Avanzados" y aplique a todos los niños. Luego puede agregar SERVICIO DE RED a su datadir, dándole control total y eso se propagará a los niños.
murraybiscuit

2
Debería usar en xcopy /O/X/E/H/Klugar de xcopy /Sen esta respuesta.
Ethan Allen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.