només de les basses de dades noves creades pels usuaris i no les de sistema tipicament farem el backup amb
mysqldump -u usuariodb -p basededatosacopiar > volcado.sql
pero els usuaris i passwd es guarden a la base de dades mysql pero potser tinc versió diferent i no la vull sobreescriure podem fer el backup de totes les bases de dades
PERO, NO HO FEU ENCARA, ENS PODEM TROBAR AMB ERRORS POSTERIORS PER SOBREESCIURE BBDD
mysqldump -u root -p --all-databases > dump.sql
via sftp enviar-ho al nou servidor i en ell recuperar-es totes.
mysql -u root -p < dump.sql
Termina la copia, salgo, entro en un shell MySQL, todo bien… Ok, reiniciemos el servidor MySQL:
service mysql restart
Stopping MySQL database server: mysqld failed!
Starting MySQL database server: mysqld already running.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Wow!
¿Y eso qué onda!?!? En debian, existe un usuario denominado
debian-sys-maint, que se encarga de realizar algunas tareas de
mantenimiento al iniciar y detener el servidor MySQL, y algunas tareas
con los logs del servicio.
Así que buscando un poco, hay un archivo /etc/mysql/debian.cnf similar al .my.cnf
que se puede crear en nuestro home para acceder automáticamente a un
servidor determinado, sin preguntar usuario, host, o incluso el
password.
Comparando ambos archivos, en el servidor anterior y el nuevo, tenían passwords diferentes. El archivo tiene una estructura así:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = passdedebiansysmaint
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = passdedebiansysmaint
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Y como dice do not touch, mejor le hacemos caso
Así que hay que decidí seguir el procedimiento para cambiar el password de un usuario en MySQL:
update user set password=PASSWORD("passdedebiansysmaint") where User='debian-sys-maint';
Y finalmente hacemos un:
flush privileges;
Y listo! El servidor reinicia normalmente:
service mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Espero les sirva =)
font http://techsurveyor.com/2011/01/30/migracion-de-usuarios-y-passwords-de-un-servidor-mysql/
TOT AIXÒ MERAVELLOS SI ÉS LA MATEIXA VERSIÓ DE mysql pero i si pot haver-hi alguna diferència, cas típic de migració de debian6 a debian7
Cap comentari:
Publica un comentari a l'entrada