MySQL is een populair databasebeheersysteem dat wordt gebruikt als leverancier van gegevensopslag voor duizenden web- en servertoepassingen. Deze gids helpt beginners om aan de slag te gaan met MySQL op een Fedora 13 Linode. Voor deze tutorial wordt aangenomen dat je de stappen hebt gevolgd die zijn beschreven in onze Een computerinstantie instellen en beveiligen, dat je systeem up-to-date is en dat je je als root hebt aangemeld bij je Linode via SSH.
Systeemconfiguratie
Zorg ervoor dat uw /etc/hosts
bestand heeft de juiste vermeldingen, vergelijkbaar met de onderstaande:
- Bestand:/ etc/hosts
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 servername.mydomain.com servername
Zorg ervoor dat u in het bovenstaande voorbeeld het openbare IP-adres van uw Linode vervangt door "12.34.56.78".
MySQL installeren
Geef de volgende opdrachten om uw systeem bij te werken en MySQL te installeren:
yum update
yum install mysql-server
/sbin/chkconfig --levels 235 mysqld on
Het MySQL-serverpakket wordt op uw server geïnstalleerd, samen met afhankelijkheden en clientbibliotheken. Start MySQL door het volgende commando uit te voeren:
service mysqld start
MySQL configureren
Na het installeren van MySQL is het raadzaam om mysql_secure_installation
uit te voeren , een programma dat helpt bij het beveiligen van MySQL. Tijdens het uitvoeren van mysql_secure_installation
, krijgt u de mogelijkheid om het MySQL-rootwachtwoord te wijzigen, anonieme gebruikersaccounts te verwijderen, rootaanmeldingen buiten localhost uit te schakelen en testdatabases te verwijderen. Het wordt aanbevolen om ja te antwoorden op deze opties. Als u wordt gevraagd om de privilegetabellen opnieuw te laden, selecteert u ja. Voer de volgende opdracht uit om het programma uit te voeren:
mysql_secure_installation
Standaard maakt MySQL enkele aannames over uw serveromgeving met betrekking tot geheugen. Om MySQL conservatiever te configureren, moet u enkele instellingen in het configuratiebestand bewerken. Uw bestand zou er als volgt uit moeten zien:
- Bestand:/ etc/mijn.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K bind-address = 127.0.0.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Deze instellingen zijn alleen voorgestelde waarden voor een omgeving met weinig geheugen; aarzel niet om ze af te stemmen op de juiste waarden voor uw server. Raadpleeg het gedeelte 'Meer informatie' aan het einde van deze zelfstudie voor aanvullende bronnen voor dit onderwerp.
Als u wijzigingen heeft aangebracht in de configuratie van MySQL, geeft u het volgende commando om het opnieuw op te starten:
service mysqld restart
MySQL zal standaard binden aan localhost (127.0.0.1). Raadpleeg onze beveiligde MySQL-handleiding voor externe toegang voor informatie over verbinding maken met uw databases met lokale clients.
Onbeperkte toegang tot MySQL toestaan op een openbaar IP-adres dat niet wordt geadviseerd, maar u kunt het adres waarop het luistert wijzigen door het bind-address
aan te passen parameter. Als u besluit MySQL aan uw openbare IP-adres te binden, moet u firewallregels implementeren die alleen verbindingen vanaf specifieke IP-adressen toestaan.
Gebruik MySQL
De standaard tool voor interactie met MySQL is de mysql
cliënt programma. Geef om te beginnen de volgende opdracht op uw prompt:
mysql -u root -p
U wordt gevraagd om het wachtwoord van de root MySQL-gebruiker in te voeren. Voer het wachtwoord in dat u hebt toegewezen toen u MySQL installeerde, en u krijgt het MySQL-beeldscherm te zien:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.48 Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Om een lijst met opdrachten voor de MySQL-prompt te genereren, typt u \h
:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'
mysql>
Laten we een database maken en er een gebruiker aan toewijzen. Geef de volgende opdrachten op de MySQL-prompt:
CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit
Laten we nu weer inloggen op de MySQL-client als testuser
en maak een voorbeeldtabel met de naam 'klanten'. Geef de volgende opdrachten:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit
Dit creëert een tabel met een klant-ID-veld van het type INT voor integer (automatisch verhoogd voor nieuwe records, gebruikt als de primaire sleutel), evenals twee velden voor het opslaan van de naam van de klant. Natuurlijk wilt u voor een klant waarschijnlijk veel meer informatie dan dit opslaan, maar het is toch een goed voorbeeld van een veelvoorkomend geval.
Het root-wachtwoord van MySQL opnieuw instellen
Als u uw root MySQL-wachtwoord bent vergeten, kunt u dit herstellen door de volgende opdrachten uit te voeren:
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
Het volgende deel van het opnieuw instellen van het wachtwoord wordt nu gedaan in het MySQL-clientprogramma:
USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE User='root';
FLUSH PRIVILEGES;
exit
Als laatste, herstart MySQL door het volgende commando te geven:
service mysqld restart
Meer informatie
U kunt de volgende bronnen raadplegen voor aanvullende informatie over dit onderwerp. Hoewel deze worden verstrekt in de hoop dat ze nuttig zullen zijn, houd er rekening mee dat we niet kunnen instaan voor de nauwkeurigheid of tijdigheid van extern gehost materiaal.
- MySQL 5.1-referentiehandleiding
- PHP MySQL-handleiding
- Perl DBI-voorbeelden voor DBD::mysql
- Gebruikershandleiding voor MySQLdb