Processo di migrazione per MySQL Server
Prerequisiti
•È necessario installare le istanze di origine e di destinazione di SQL Server, che possono essere ospitate su macchine diverse.
•Gli strumenti MySQL devono essere disponibili su almeno uno dei computer (client mysqldump e mysql).
Collegamenti utili
•https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html
•https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
•https://dev.mysql.com/doc/refman/8.0/en/mysql.html
Processo di migrazione
Nei comandi, nei file di configurazione o nelle dichiarazioni di SQL sottostanti, sostituire sempre: •SRCHOST con l'indirizzo dell'istanza di origine del server del database •SRCROOTLOGIN con l'accesso dell'utente radice dell'istanza di origine di MySQL Server •SRCDBNAME con il nome dell'istanza di origine del database ESET PROTECT per il quale eseguire il backup •BACKUPFILE con il percorso al file in cui verrà archiviato il backup •TARGETROOTLOGIN con l'accesso dell'utente radice dell'istanza di destinazione di MySQL Server •TARGETHOST con l'indirizzo dell'istanza di destinazione del server del database •TARGETDBNAME con il nome dell'istanza di destinazione del database ESET PROTECT (in seguito alla migrazione) •TARGETLOGIN con il nome di accesso per il nuovo utente del database ESET PROTECT sul server del database di destinazione •TARGETPASSWD con la password del nuovo utente del database ESET PROTECT sul server del database di destinazione |
Non è necessario eseguire le dichiarazioni SQL sottostanti attraverso la riga di comando. Se è disponibile lo strumento GUI, è possibile utilizzare un'applicazione già nota.
1.Interrompere il servizio del server ESET PROTECT.
2.Creare un backup completo dell'istanza di origine del database ESET PROTECT (database che si desidera migrare):
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
3.Preparare un database vuoto sull'istanza di destinazione di MySQL Server:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
utilizzare il carattere apostrofo ' al posto delle virgolette " sui sistemi Linux. |
4.Ripristinare il database sull'istanza di destinazione di MySQL Server sul database vuoto preparato in precedenza:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETDBNAME < BACKUPFILE |
5.Creare un utente per il database ESET PROTECT sull'istanza di destinazione di MySQL Server:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
Caratteri consigliati per TARGETLOGIN:
•Lettere ASCII minuscole, numeri e sottolineatura "_"
Caratteri consigliati per TARGETPASSWD:
•Solo caratteri ASCII, incluse lettere ASCII maiuscole e minuscole, numeri, spazi e caratteri speciali
•Non utilizzare caratteri non-ASCII, parentesi graffe {} o @
Si tenga presente che, in caso di mancata osservanza delle raccomandazioni sui caratteri di cui sopra, potrebbero verificarsi problemi di connettività del database oppure sarà necessario effettuare l'escape dei caratteri speciali nei passaggi successivi durante la modifica delle stringhe di connessione del database. In questo documento non vengono illustrate le regole per effettuare l'escape dei caratteri.
6.Garantire adeguati diritti di accesso all'utente del database ESET PROTECT sull'istanza di destinazione di MySQL Server:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
utilizzare il carattere apostrofo ' al posto delle virgolette " sui sistemi Linux. |