Back-up en beheer MySQL-databases van de opdrachtregels
MySQL-databases spelen een integrale rol in veel computersystemen, vooral als het gaat om webhosting en internetdiensten. Omdat al die waardevolle gegevens aan de database worden toevertrouwd, is het essentieel om back-ups te maken en is het belangrijk om te weten hoe u de databaseserver moet beheren. MySQL bevat twee krachtige tools voor deze taken: "mysqldump" en "mysqladmin." Zoals hun namen suggereren, is de eerste voor back-ups en de andere voor beheer. Het beheersen van deze twee commando's is van het grootste belang als je een competente MySQL-beheerder wilt worden.
backups
Met de opdracht mysqldump
een bestand met SQL-instructies gemaakt dat tijdens het uitvoeren dezelfde tabellen en gegevens weergeeft die zich in de database bevinden. Het kan worden gebruikt als een back-upmethode of als een gemakkelijke manier om een database van de ene naar de andere server te kopiëren. Het kan ook output maken als door komma's gescheiden waarden (CSV), of zelfs in XML. Omdat de resulterende uitvoer een tekstbestand met SQL-instructies is, hebben beheerders de flexibiliteit om het dumpbestand te bekijken en aan te passen.
Gebruik mysqldump als volgt om een enkele tabel in een database te dumpen:
mysqldump -u root -p testdb tablename
Waar "testdb" de naam van de database is en "tabelnaam" de naam van de tabel die u wilt dumpen. De "-u" -optie geeft aan welke MySQL-gebruiker moet gebruiken tijdens de dump en "-p" vertelt mysqldump om het wachtwoord interactief te krijgen (dwz u moet het wachtwoord invoeren wanneer daarom wordt gevraagd). De gebruiker moet leestoegang hebben tot de database die wordt gedumpt (technisch gezien heeft de gebruiker de rechten SELECT, SHOW VIEW, TRIGGER en LOCK TABLES nodig). De "root" -gebruiker wordt normaal gesproken (samen met een wachtwoord) geconfigureerd tijdens de MySQL-serverinstallatie.
De uitvoer wordt rechtstreeks naar de console verzonden. Als u de uitvoer naar een bestand wilt verzenden en het wachtwoord op de opdrachtregel wilt opgeven (handig voor back-upscripts), gebruikt u:
mysqldump -u root --password = 'secret' testdb tablename> testdb_table_backup.sql
Waarbij "geheim" het wachtwoord is voor de root van de gebruiker en tablename de naam is van de tabel waarvan u een back-up wilt maken. Vervang "_table_" in de bestandsnaam door de echte tabelnaam. Het resulterende bestand "testdb_table_backup.sql" bevat alle SQL-instructies die nodig zijn om de tabel opnieuw aan te maken.
U kunt meer dan één tabelparameter leveren om een back-up van meerdere tabellen te maken, of als u deze volledig weglaat, wordt de hele database gedumpt. Bijvoorbeeld:
mysqldump -u root --password = 'secret' testdb> testdb_backup.sql
Het resulterende bestand "testdb_backup.sql" bevat een dump van alle tabellen in de database.
Als u meer dan één database wilt dumpen, moet u de optie --databases
gebruiken. Bijvoorbeeld:
mysqldump -u root --password = 'secret' --databases testdb testdb2> testbd_testdb2_backup.sql
Om een back-up te maken van alle tabellen uit alle databases op de MySQL-server, gebruikt u de optie " --all-databases
":
mysqldump -u root --password = 'secret' --all-databases> all_dbs.sql
beheerder
De mysqladmin-tool wordt gebruikt om administratieve taken uit te voeren, zoals het controleren van de configuratie van de server en de huidige status, en om databases te maken en neer te zetten. Om een database met de naam "testdb" te maken, gebruikt u:
mysqladmin -u root -p create testdb
De "-u" en "-p" opties werken hetzelfde als met de opdracht mysqldump.
Om een database samen met alle tabellen te verwijderen, gebruikt u de vervolgkeuzelijst "drop":
mysqladmin -u root -p drop testdb
Nadat u de verwijdering van de database hebt bevestigd, wordt deze, samen met al zijn tabellen, van de server verwijderd.
De opdracht mysqadmin kan ook verschillende statistieken ophalen van de MySQL-server. Probeer de subopdrachten "status" en "uitgebreide status" uit. Het eenvoudigste statusverzoek is de "ping" -opdracht die controleert of de server nog leeft. Hier is een voorbeeld van hoe het te gebruiken:
mysqladmin -u root --password = 'geheime' ping
U kunt gedetailleerde informatie krijgen over de opdracht mysqldump op de MySQL-documentatiepagina A Database Backup Program, en ook voor de opdracht mysqladmin van de Client voor het beheren van een MySQL-serverpagina.
Als u vragen hebt over de bovenstaande voorbeelden, kunt u dit stellen in het gedeelte Opmerkingen hieronder.