manhome.nl

MySQL Beheer

Op deze bladzijde presenteer ik een (beperkt) aantal gereedschappen om de MySQL database te onderhouden.

Ook hier doen we dat met als invalshoek "Ik wil ..."

Maar let op, sommige opdrachten zijn geen SQL opdrachten maar opdrachten die in een shell (vanuit xterm) gegeven worden en gebruik maken van, met MySQL mee geinstalleerde, hulpprogramma's

 

Ik wil ...Vraag/OpdrachtToelichtingOpmerking
een backup van een database maken Opdracht in een xterm:

mysqldump -u root database > filenaam.sql;
Levert een leesbaar en (belangrijker) uitvoerbaar installatiescript, voor de tabellen van de betreffende database, in de SQL taal.
De gebruikersnaam 'root' kan bij jou natuurlijk anders zijn en het is ook denkbaar dat je in jouw omgeving een password moet meegeven. Dat doe je met de extra optie -p jouwpwrd
De naam filenaam.sql is natuurlijk een voorbeeld maar de .sql toevoeging is wel erg handig ter herkenning, ook kun je de filenaam vooraf laten gaan door een pathdefinitie.
Uitgewerkt voorbeeld:
vispro@laptop:> cd ~/tmp
vispro@laptop:./tmp> mysqldump -u root -p mypasswd EXAMPLE > example.sql
deze taak kun je prima vanuit een geopend xterm object in de ViSpro browser realiseren
een backup terugzetten Hulptoepassing in een xterm:

mysql -u root -p mypasswrd

Binnen mysql:

xxxxx


(Sorry het is laat, wordt vervolgd!)
weten uit welke tabellen een database bestaat SQL opdracht:

SHOW TABLES;

Levert een geformatteerde lijst van alle beschikbare tabellen.

VB.: SHOW TABLES FROM mysql; Toont de tabellen van de eigen (administratieve) database van MySQL.

weten hoe een tabel is opgebouwd SQL opdracht:

DESCRIBE TABLE;

Geeft een overzicht van alle velden, hun type en hun attributen.

VB.: DESCRIBE mysql.user; beschrijft de opbouw van de tabel user in de database mysql.

weten welke rechten aan een specifieke gebruiker zijn toegekend SQL opdracht:

SHOW GRANTS FOR gebruiker_x[@server_y];

Toont de rechten zoals toegekend aan een specifieke gebruiker.

Door de toevoeging @server kan aangegeven worden dat het alleen geldt voor een gebruiker op een specifieke machine.

VB.: SHOW GRANTS FOR root@localhost;

 

NB Er zijn twee manieren om naar een tabel te verwijzen:

  1. Door eerst te vertellen tegen de server dat we ons gaan bezighouden met een specifieke database USE mijndatabase;
  2. Door (zie voorbeeld bij DESCRIBE) zowel de database als de tabel te noemen, van elkaar gescheiden door een punt.