[suse-linux-s] backup de mysql
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola: Estoy preparandome para pasar a la 10.1. Las instrucciones recomiendan lo siguiente: Updating to MySQL 5.0 SUSE Linux comes with MySQL 5.0. As with every major release update, it is strongly recommended to perform a backup of the MySQL table files and create an SQL dump beforehand. After the update, /etc/init.d/mysql automatically executes mysql_fix_privilege_tables. Refer to http://dev.mysql.com/doc/refman/5.0/en/upgrade.html for more information and detailed instructions. Así que me voy a ese sitio y miro las instrucciones. Parece que lo debo hacer es un mysqldump. Asi que entro como usuario mysql, y hago: mysql@nimrodel:~> mysqldump --all-databases > all_databases.sql lo hace muy rápido. Compruebo: mysql@nimrodel:~> l all_databases.sql -rw-r--r-- 1 mysql mysql 1086 2006-07-01 12:06 all_databases.sql Imposible, eso no es todo. Solo ha grabado la base "test". Repito especificando un nombre de base existente: mysql@nimrodel:~> mysqldump --databases Biblioteca > all_databases.sql mysqldump: Got error: 1044: Access denied for user ''@'localhost' to database 'Biblioteca' when selecting the database Pues estamos bien. Si el usuario administrador no tiene permiso, ¿como rayos hago un backup completo de todas las bases de datos? Tiene que haber una manera de darle permiso al usuario mysql para que haga su trabajo. ¿Que hago? No soy entendido en mysql. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEpktptTMYHG2NR9URAoTrAJ41+JHv94GeHX/LYckHgsQR3+qtYACeLy7q SQpnqhEBdGmfcjSTllvQc0o= =UD6W -----END PGP SIGNATURE----- -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Aunque pueda parecer un poco bruto, yo suelo copiar todo el contenido del directorio /var/lib/mysql/ En esta carpeta es donde se guardas TODAS las tablas que suele utilizar mysql. Cuando me ha tenido que hacer falta las he repuesto y mysql las ha levantado sin ningún problema. Claro, todo esto lo he realizado como root. He pasado de la 10 a la 10.1 y sin problemas con mysql. Saludos. -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 1 Jul 2006, Salvador Gomez Cabello wrote:
Aunque pueda parecer un poco bruto, yo suelo copiar todo el contenido del directorio /var/lib/mysql/
Eso ya está hecho, y soy más bruto que tu: estoy haciendo un backup completo de todo "/". Pero las instrucciones dicen explícitamente que debe hacerse un volcado de las bases de datos en esta actualización. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEpmg0tTMYHG2NR9URAow9AKCAxy9pO1XQTXSW9i4ibolmcCJPywCfVwzJ 04YeAQWNU16j0E+W2sE6vDY= =zeAb -----END PGP SIGNATURE----- -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Salvador Gomez Cabello escribió:
Aunque pueda parecer un poco bruto, yo suelo copiar todo el contenido del directorio /var/lib/mysql/
En esta carpeta es donde se guardas TODAS las tablas que suele utilizar mysql.
Cuando me ha tenido que hacer falta las he repuesto y mysql las ha levantado sin ningún problema. Claro, todo esto lo he realizado como root.
He pasado de la 10 a la 10.1 y sin problemas con mysql.
Saludos.
hice lo mismo para pasar de suse 9 a 10.1 y funciono perfectamente. Lo unico a tener en cuenta es antes de copiar o bien parar el mysql o hacer un volcado de la cache. A parte de hacer copias a pelo, tambien utilizo el webmin pero lo intente recuperar y no salio bien, algo falla de por medio. De todas formas ya sabes, despues de hacer una copia intenta recuperarla a ver si se puede. saludos -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Pues estamos bien. Si el usuario administrador no tiene permiso, ¿como rayos hago un backup completo de todas las bases de datos? Tiene que haber una manera de darle permiso al usuario mysql para que haga su trabajo.
¿Que hago? No soy entendido en mysql.
Probablemente el usuario que estas utilizando no es tan administrador como tu te piensas. Verificalo asi: Entra en la consola de mysql como administrador y chequea los permisos de tu usuario administrador (root en este ejemplo): mysql> show grants for root@localhost; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@localhost | +----------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*A879F1CE757411FDD2EC1FDEB8DA1BD3CA484988B' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) Tu usuario administrador ha de tener todos los privilegios (ALL PRIVILEGES) en todas las tablas de todas las bases de datos (*.*) -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 1 Jul 2006, Marcos Martinez wrote:
Pues estamos bien. Si el usuario administrador no tiene permiso, ¿como rayos hago un backup completo de todas las bases de datos? Tiene que haber una manera de darle permiso al usuario mysql para que haga su trabajo.
¿Que hago? No soy entendido en mysql.
Probablemente el usuario que estas utilizando no es tan administrador como tu te piensas. Verificalo asi: Entra en la consola de mysql como administrador y chequea los permisos de tu usuario administrador (root en este ejemplo):
Recuerda que yo estoy hablando del usuario "mysql", que debe tener acceso a _todo_, se diga explícitamente o no.
mysql> show grants for root@localhost;
mysql> show grants for mysql@localhost; ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' Lo que no puedo hacer es ir tabla por tabla dándole permisos. Tiene que ser un permiso global, para todas las tablas y bases y todo, presente y futuro. ¡Es el administrador! ¿Como si no se puede hacer un backup completo de todo? Por cierto, ese comando de arriba está mal. Me dice que no tengo acceso como usuario en blanco a la base de datos 'mysql', y lo que se buscan son los permisos del usuario 'mysql'. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEpmfUtTMYHG2NR9URAvHiAKCPH44vW41Bpne7xwjmSqjXJZcMAgCfSWIx 1DMYZAHWOmcORkbt7CbG1p8= =58i+ -----END PGP SIGNATURE----- -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
El 1/07/06, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
[...]
Así que me voy a ese sitio y miro las instrucciones. Parece que lo debo hacer es un mysqldump. Asi que entro como usuario mysql, y hago:
mysql@nimrodel:~> mysqldump --all-databases > all_databases.sql
lo hace muy rápido. Compruebo:
mysql@nimrodel:~> l all_databases.sql -rw-r--r-- 1 mysql mysql 1086 2006-07-01 12:06 all_databases.sql
Imposible, eso no es todo. Solo ha grabado la base "test". Repito especificando un nombre de base existente:
mysql@nimrodel:~> mysqldump --databases Biblioteca > all_databases.sql mysqldump: Got error: 1044: Access denied for user ''@'localhost' to database 'Biblioteca' when selecting the database
Pues estamos bien. Si el usuario administrador no tiene permiso,
el usuario administrador no es mysql (al menos que usted haya cambiado), por lo general es root !!!! el usuario mysql, simplesmente es el que ejecuta el servicio, tiene permisson sobre los archivos y otras hierbas.
¿como rayos hago un backup completo de todas las bases de datos? Tiene que haber una manera de darle permiso al usuario mysql para que haga su trabajo.
intenta agregar al comando de arriba los parametros -u y -P $mysqldump -u root -P --all-databases > all_databases.sql suerte. -- -- Victor Hugo dos Santos Linux Counter #224399 -- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 1 Jul 2006, Victor Hugo dos Santos wrote:
Pues estamos bien. Si el usuario administrador no tiene permiso,
el usuario administrador no es mysql (al menos que usted haya cambiado), por lo general es root !!!! el usuario mysql, simplesmente es el que ejecuta el servicio, tiene permisson sobre los archivos y otras hierbas.
El root tampoco tiene permiso, da el mismo error. He ido al usuario mysql porque cuando se inicia el programa por primera vez, ese es el único usuario que puede hacer algo. nimrodel:~ # mysqldump --all-databases > all_databases.sql mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect Yo creo que hay que poner algo en el /etc/mysqlaccess.conf o /etc/my.cnf.
intenta agregar al comando de arriba los parametros -u y -P
$mysqldump -u root -P --all-databases > all_databases.sql
Tampoco, sintaxis erronea - falta un numero de puerto detrás de la "-P": nimrodel:~ # mysqldump -u root -P --all-databases > all_databases.sql Unknown suffix '-' used for variable 'port' (value '--all-databases') mysqldump: Error while setting value '--all-databases' to 'port' Supongo que quieres decir que use -p o --password - veamos: nimrodel:~ # mysqldump -u mysql --password=** --all-databases > all_databases.sql mysqldump: Got error: 1045: Access denied for user 'mysql'@'localhost' (using password: YES) when trying to connect nimrodel:~/backup # mysqldump -u root --password=*** --all-databases > all_databases.sql nimrodel:~/backup # l -h all_databases.sql -rw-r--r-- 1 root root 21M Jul 2 00:26 all_databases.sql ¡Ahora si! Arf... ¡Gracias! - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEpvhStTMYHG2NR9URAl5PAJ0VuaKkobPDvJtBv2vftb8AlTc/wACeP65p fiwu3ZGvLbSZKvLLz+FINVo= =+DBK -----END PGP SIGNATURE----- -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
El 1/07/06, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sat, 1 Jul 2006, Victor Hugo dos Santos wrote:
Pues estamos bien. Si el usuario administrador no tiene permiso,
el usuario administrador no es mysql (al menos que usted haya cambiado), por lo general es root !!!! el usuario mysql, simplesmente es el que ejecuta el servicio, tiene permisson sobre los archivos y otras hierbas.
El root tampoco tiene permiso, da el mismo error. He ido al usuario mysql porque cuando se inicia el programa por primera vez, ese es el único usuario que puede hacer algo.
nooo.. te confundes con el tema de los usuarios !!! el usuario "root" y al "mysql" al que me refiro son los que estan creados dentro de la BD mysql !!!! existen ademas de estos los mismos usuarios en el sistema (root y mysql), pero estes que estan en el sistema, no tienen ninguna referencia/control sobre las BD que estan en el servicio mysqld y por esto recomendo utilizar las opciones "-u" y "-p" para especificar el usuario y contrasena para acceder a la BD. por cierto, es recomendable por temas de seguridad que cambies el usuario admininistrador de mysql de "root", "mysql" o "admin" para cualquer otro nombre !!! ;-)
nimrodel:~ # mysqldump --all-databases > all_databases.sql mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
mmm.. vea que aca te utilizas el usuario 'root'@'localhost' por que te pones por defecto el login del actual usuario con lo que estas conectado al sistema, se estuveras conectado con vuestro usuario "cer" entonces, tendriamos "cre@localhost", pero esto se evita con la utilizacion de la opcion "-u".... por cierto, en este comando el unico problema es que no especificaste la contrasena !!!
Yo creo que hay que poner algo en el /etc/mysqlaccess.conf o /etc/my.cnf.
mmmm... nooo.. no es necesario !!!
intenta agregar al comando de arriba los parametros -u y -P
$mysqldump -u root -P --all-databases > all_databases.sql
Tampoco, sintaxis erronea - falta un numero de puerto detrás de la "-P": nimrodel:~ # mysqldump -u root -P --all-databases > all_databases.sql Unknown suffix '-' used for variable 'port' (value '--all-databases') mysqldump: Error while setting value '--all-databases' to 'port'
mmmm... vale.. es que en este momento no tengo el mysql por aca, y envie la opcion de memoria !!!! :-(
Supongo que quieres decir que use -p o --password - veamos:
nimrodel:~ # mysqldump -u mysql --password=** --all-databases > all_databases.sql
mmmm... en el personal prefiro la opcion "-p" (creo) ya que te pide la contrasena de manera interactiva y no es necesaria escribirla en la linea de comando quedando la posibilidad de que alguien la lea o que quede registrada en el historico !!!
mysqldump: Got error: 1045: Access denied for user 'mysql'@'localhost' (using password: YES) when trying to connect nimrodel:~/backup # mysqldump -u root --password=*** --all-databases > all_databases.sql
mmm.. o sea el "usuario admin" de vuestro mysql es el usuario "root" !!! :-D
¡Ahora si! Arf... ¡Gracias!
vale. obs.: ahora es bien provable que mis correos vayan aun mas llenos de errores, ya que final de semana tuve un acidente en la cocina con una licuadora de frutas (estas que preparon jugos) que se quebro y el vidrio roto ha herindo a algunos dedos de la mi mano derecha tenendo que coserlos y ahora es mas complicado digitar y mover el mouse con la mano esquerda !!!! mmmm. bien, hare el posible para arregrar los errores antes de enviar los correos... salu2. -- -- Victor Hugo dos Santos Linux Counter #224399 -- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
participants (5)
-
admin-listas
-
Carlos E. R.
-
Marcos Martinez
-
Salvador Gomez Cabello
-
Victor Hugo dos Santos