Estoy usando MySQL 5.5 en una máquina local para analizar una gran cantidad de datos gubernamentales. He creado una base de datos local que reside en mi unidad predeterminada (Win7 C: unidad). Me gustaría almacenar los datos en mi unidad E: una unidad externa eSATA grande.
¿Qué pasos debo tomar?
Respuestas:
datadir
parámetro).my.ini
archivo (está en el directorio de instalación de mysql). Cambie eldatadir
valor del parámetro para apuntar a la nueva ubicación.fuente
/
y no \ como separadores de directorio en la ruta del directoriodatadir
. Estoy usando WAMPserver en Windows 10.Aunque está pidiendo ventanas, aquí hay algunas buenas instrucciones para aquellos que terminan aquí buscando direcciones de Linux / ubuntu:
Suposiciones
/mountpoint/var/lib/mysql
, tal vez de una computadora que falle o de una instalación antigua/var/lib/mysql
Fuente [email protected]
fuente
Solución 1:
Segunda solución (no recomendado, pero funciona en la misma máquina)
A partir de la versión 5.6 MySQLInstanceConfig.exe ya no se distribuye. Esta funcionalidad está siendo reemplazada por el instalador. http://bugs.mysql.com/bug.php?id=66306
fuente
[ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.
. ¿Cómo puedo asegurarme de que los permisos están configurados correctamente?Para Windows, a partir del instalador MySQL 1.4.6 (2015-04-07) , la ubicación de los datos puede especificarse en una clave de registro que especifique la ubicación del
my.ini
archivo, por lo que si los datos se instalaron inicialmente en una ubicación no predeterminada elmy.ini
archivo no estará enC:\ProgramData\MySQL\MySQL Server x.x\
.La ubicación de los valores del registro son (al menos a partir de MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Location
es unREG_SZ
que apunta a la carpeta donde se encuentran los archivos de la aplicación MySQL; por defecto:C:\Program Files\MySQL\MySQL Server x.x\
DataLocation
es unREG_SZ
que apunta a la carpeta dondemy.ini
se encuentra; por defecto también:C:\Program Files\MySQL\MySQL Server x.x\
Además, la
my.ini
ruta del archivo se incluye en el comando de servicio bajo esta clave de registro:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX
en elImagePath
REG_EXPAND_SZ
valor.El valor predeterminado de esta cadena es:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX
Entonces, la conclusión es que para mover archivos de datos en este escenario, debe seguir los pasos publicados por @ITCuties con algunas adiciones.
Aquí están los pasos completos:
DataLocation
valor de registro anterior para encontrar lamy.ini
ubicación actual del archivo, y si desea mover también elmy.ini
archivo, actualice laDataLocation
ruta y mueva elmy.ini
archivo a esta nueva ruta.my.ini
archivo, debe actualizar la ruta en la clave de registro del comando de servicio enumerada anteriormente.my.ini
archivo, ubique eldatadir
parámetro. Mueva los archivos de estadatadir
ruta a la ruta en la que desea que residan los datos y luego actualice eldatadir
parámetro con esta nueva ruta.fuente