Ho un mysql dump con 5 database e vorrei sapere se c'è un modo per importarne uno solo (usando mysqldump o altro).Come posso ripristinare un database da un mysqldump contenente più database?
Suggerimenti apprezzati.
Ho un mysql dump con 5 database e vorrei sapere se c'è un modo per importarne uno solo (usando mysqldump o altro).Come posso ripristinare un database da un mysqldump contenente più database?
Suggerimenti apprezzati.
È possibile reindirizzare il codice SQL scaricato tramite sed
e estrarre il database automaticamente. Qualcosa di simile:
cat mysqldumped.sql | \
sed -n -e '/^CREATE DATABASE.*`the_database_you_want`/,/^CREATE DATABASE/ p' | \
sed -e '$d' | \
mysql
I due sed
comandi:
CREATE DATABASE
linee (tra cui entrambe le CREATE DATABASE
righe), eCREATE DATABASE
linea dal output dal momento che non vogliamo mysqld creare un secondo database.Se la discarica non contiene le linee CREATE DATABASE
, è anche possibile abbinare contro i USE
linee.
In una singola riga e con le opzioni '-u' e' -p': 'cat all-databases.sql | sed -n -e '/^CREATE DATABASE. * \ 'the_database_you_want \' /,/^ CREATE DATABASE/p' | sed -e '$ d' | mysql -u my_username -p' –
È possibile utilizzare l'opzione della riga di comando mysql --one-database.
Ovviamente fare attenzione quando si esegue questa operazione.
È inoltre possibile utilizzare uno mysql dumpsplitter.
Ho provato questo, ma ho sempre ricevuto l'errore "ERRORE 1049 (42000): database sconosciuto "redmine" ". La documentazione afferma: "Questo è utile per saltare gli aggiornamenti ad altri database nel registro binario." Questo non è un log binario (credo), quindi non funzionerà. –
Ho trovato un'interessante segnalazione di bug relativa a questa funzione: http://bugs.mysql.com/bug.php?id=40477 –
@ThePixelDeveloper: prima deve esistere un database vuoto, quindi funziona. –
Non credo che ci sia. L'importazione di tutti i database e il rilascio di tutti tranne quello che si desidera mantenere è la cosa migliore che si possa fare, ma non si sa mai, forse qualcuno ha inventato qualcosa –