OVH Community, your new community space.

MySQL - Cambiar ruta directorio datos


PacoSS
27/02/2014, 20:25
Obviamente no puedes hacer el enlace simbólico si el directorio aún existe.

Es decir, /home/mysqldata/mysql será el link y no debe existir.

Es que te lo dice claramente en inglés --> File exist.

Siliconworld
30/01/2014, 01:54
Código:
service mysqld stop
rm -f /var/lib/mysql/mysql.sock
service mysqld start

tfwfactory
27/01/2014, 22:50
Cita Publicado inicialmente por ajFernandez
Lo hago y no me funciona. No me deja crear el enlace simbólico. He copiado el contenido de /var/lib/mysql en /home/mysqldata/mysql.

Ejecuto ln -s /home/mysqldata/mysql /var/lib/mysql

y me devuelve el siguiente error:
ln: creating symbolic link `/var/lib/mysql': File exists

Ya no sé qué más hacer... ¿Qué puede estar fallando? No entiendo cómo algo tan sencillo me está dando tantos problemas...

Gracias por vuestra ayuda!!!!

Pon el comando al reves con los paths , y revisa si no tienes los links ya creados para deshacerlos y si te es mas fácil accede por ssh con Filezilla para ver los enlaces condicionales

ajFernandez
27/01/2014, 14:06
Lo hago y no me funciona. No me deja crear el enlace simbólico. He copiado el contenido de /var/lib/mysql en /home/mysqldata/mysql.

Ejecuto ln -s /home/mysqldata/mysql /var/lib/mysql

y me devuelve el siguiente error:
ln: creating symbolic link `/var/lib/mysql': File exists

Ya no sé qué más hacer... ¿Qué puede estar fallando? No entiendo cómo algo tan sencillo me está dando tantos problemas...

Gracias por vuestra ayuda!!!!

tfwfactory
27/01/2014, 12:55
No te compliques y crea un enlace simbólico , funciona a la perfeción , con sistemas como DirectAdmin o ZpanelX lo hacemos y va de lujo sin meter mano a particiones , todo a home y te olvidas de complicaciones , te deo el enlace para Cpanel : http://forums.cpanel.net/f354/how-mo...er-110481.html

Saludos

ajFernandez
27/01/2014, 12:04
¿¿Puede ser algo relacionado con mysqld_safe??

¿Qué es eso? Gracias.

suicidal
27/01/2014, 11:36
Que tienes iniciado ya un mysql e intentaste iniciar otro

ajFernandez
27/01/2014, 11:27
Acabo de ver un error que da en un archivo .err. Dice así:

140127 12:11:51 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
140127 12:11:51 [ERROR] Do you already have another mysqld server running on port: 3306 ?
140127 12:11:51 [ERROR] Aborting

¿Te dice algo eso? Mil Gracias!!

suicidal
27/01/2014, 11:19
Ya no se que decirte... Yo lo migré y la verdad es que no tuve problemas de ningún tipo...

ajFernandez
27/01/2014, 11:15
Nada, no hay manera... Lo acabo de hacer y nada. Me vuelve a dar el mismo error...

He creado el archivo .pid que pide y le he asignado todos los permisos y además le he hecho el chown mysql:mysql y nada..

¿¿No hace falta cambiar nada más, ni hacer nada más?? Gracias!!!

ajFernandez
27/01/2014, 10:47
Sí, eso lo he probado también. Y le hice chown a ambos, tanto al directorio, como al archivo...

La verdad que no se me ocurre qué hacer ya... Voy a intentarlo de nuevo... A ver...

suicidal
27/01/2014, 10:43
en /home/mysqldata crea un fichero mysqld.pid (o mysql.pid, el nombre que te pide), guardas y haces un chown mysql:mysql fichero.pid

hiciste el chown mysql:mysql /home/mysqldata ???

ajFernandez
27/01/2014, 10:15
Hola. Sí, supongo que muy difícil no debe de ser. Lo acabo de hacer como me indicas, pero me da un pequeño error al volver a arrancar MySQL:

ERROR! MySQL server PID file could not be found!
ERROR! The server quit without updating PID file (/home/mysqldata/xxx.pid)

¿¿La variable socket hay que cambiarla también en el archivo my.cnf??

Gracias!

suicidal
27/01/2014, 09:44
Hola. Esto es muy sencillo

Pasos a seguir (yo lo hice en Debian 7, cambiará un poco la ruta de los ejecutables y poco más)

- Apagamos mysql: /usr/local/mysql/bin/mysqladmin -u root -p shutdown
- Cambiamos el datadir de my.cnf como comentas al directorio que desees en /home/
- Mueves el directorio de mysql al nuevo lugar (yo en mi caso no me compliqué, y lo que hice fue un mv /var/lib/mysql /home/mysql )
- Verifica que la carpeta tenga permisos mysql:mysql 700
- Arrancas mysql ( en mi caso /etc/init.d/mysqld start

ajFernandez
27/01/2014, 09:22
Buenos días a tod@s,

tengo un dedicado con Centos 6.5 y cPanel de los nuevos de SoYouStart. Resulta que al instalar cPanel, por defecto creó 3 particiones en el disco:
  • Una de 485MB montada en /var/tmp
  • Otra de 20GB montada en / (esta partición es la de root)
  • Y otra de 1,8 TB montada en /home, que es donde se guardan los archivos de todos los usuarios de cPanel.

Pues bien, resulta que las bases de datos de MySQL se almacenan en la partición de root (la de 20G que está montada en /) y ya la tengo casi completa (está al 96%). Necesitaría cambiar la ruta al directorio de las bases de datos de MySQL para que las bases de datos se almacenen en la partición grande que está montada en /home.

He leído en muchos foros y artículos sobre cómo hacer esto, pero no me funciona nada de lo que he probado. Al parecer hay que modificar la variable "datadir" en el archivo /etc/my.cnf, pero me da un error indicando que no puede editar un archivo .pid. He probado a copiar sólo los directorios de las bases de datos, a copiar todo el directorio /var/lib/mysql completo. He copiado también el archivo .pid que supuestamente necesita escribir, manteniendo los permisos de archivo... Y nada. También he leído en algunos sitios que hay que hacer un simblink de /var/lib/mysql a la nueva ubicación, pero con eso tampoco he conseguido hacer que funcione.

¿Alguien ha podido hacer esto? Otra opción sería ampliar la partición de root, pero he leído que esto es bastante más complejo y peligroso, ya que habría que desmontar particiones, etc.

¿¿Alguien sabe cómo solucionar esto o me puede indicar un sitio de referencia sobre cómo hacer esto??

Gracias.