Scenario:
Ho un server (che chiamerò Server1) con mysql4.1 e un altro server (che chiamerò server2) con mysql5, devo migrare i database presenti sul server1 verso il server2, compresi tutti gli utenti e i permessi di accesso.
Soluzione:
stoppare mysql su entrambe i server
copiare il contenuto della cartella /var/lib/mysql del server1 sul server2, nella medesima posizione
avviare mysql5 sul server2 senza preoccuparsi di eventuali errori
digitare il comando:
mysqlcheck --check-upgrade --all-databases --auto-repair -p
al termine della riparazione si può riavviare mysql5 (che restituirà un altro errore)
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
ancora un ultimo comando per sistemare l'utente debian-sys-maint
Apri il file debian.cnf
vi /etc/mysql/debian.cnf
troverai un codice alfanumerico alla voce password, sarà da inserire al posto di _pwd_ nel prossimo comando
Entra nella console mysql con il comando
mysql -p
Il prompt cambierà forma e potrai digitare questo comando
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
Commenti offerti da CComment