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.