MySQL er et populært databasestyringssystem, der bruges som datalagringsudbyder til tusindvis af web- og serverapplikationer. Denne guide hjælper begyndere med at komme i gang med MySQL på en Ubuntu 10.10 (Maverick) Linode. Det antages, at du har fulgt de trin, der er beskrevet i vores Opsætning og sikring af en beregningsinstans, at dit system er opdateret, og at du har logget ind på din Linode som root via SSH.
Grundlæggende systemkonfiguration
Rediger dine /etc/hosts
fil for at ligne følgende eksempel. Erstat "example.com" med dit eget domænenavn, og vælg et unikt navn at erstatte "systemnavn" med. Dette vil være dit systems FQDN (fuldt kvalificeret domænenavn). Erstat "12.34.56.78" med din Linodes IP-adresse.
- Fil:/ osv/værter
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 systemname.example.com systemname
Udsted følgende kommandoer for at indstille dit systems værtsnavn, og udskift "systemnavn" med det korte værtsnavn, du valgte ovenfor.
echo "systemname" > /etc/hostname
hostname -F /etc/hostname
Installer MySQL
Sørg for, at dine pakkelager og installerede programmer er opdaterede ved at udstede følgende kommandoer:
apt-get update
apt-get upgrade --show-upgraded
Begynd med at udstede følgende kommando i din terminal:
apt-get install mysql-server
Du vil blive bedt om at angive en adgangskode til MySQL root-brugeren. Vælg en stærk adgangskode, og opbevar den et sikkert sted til fremtidig reference.
MySQL-serverpakken vil blive installeret på din server sammen med afhængigheder og klientbiblioteker. Efter installation af MySQL, anbefales det, at du kører mysql_secure_installation
for at hjælpe med at sikre MySQL. Det anbefales, at du accepterer programmets standardsvar. Hvis du bliver bedt om at genindlæse privilegier, skal du vælge "ja". Kør følgende kommando for at udføre programmet:
mysql_secure_installation
Efter at have kørt mysql_secure_installation
, MySQL er sikker og klar til at blive konfigureret.
Konfigurer MySQL
Som standard gør MySQL nogle antagelser om dit servermiljø med hensyn til hukommelse. For at konfigurere MySQL mere konservativt, skal du redigere nogle indstillinger i dens konfigurationsfil. Din fil skal ligne følgende:
- Fil:/ etc/mysql/my.cnf
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
Disse indstillinger er kun foreslåede værdier for et miljø med lav hukommelse; Du er velkommen til at indstille dem til passende værdier for din server. Se afsnittet "Flere oplysninger" i slutningen af denne vejledning for yderligere ressourcer om dette emne.
Hvis du har foretaget ændringer i MySQL's konfiguration, skal du genstarte den ved at udstede følgende kommando:
restart mysql
MySQL vil binde til localhost (127.0.0.1) som standard. Se venligst vores sikre MySQL fjernadgangsvejledning for at få oplysninger om tilslutning til dine databaser med lokale klienter.
Det anbefales ikke at tillade ubegrænset adgang til MySQL på en offentlig IP, men du kan ændre adressen, den lytter til ved at ændre bind-address
parameter. Hvis du beslutter dig for at binde MySQL til din offentlige IP, bør du implementere firewall-regler, der kun tillader forbindelser fra specifikke IP-adresser.
Brug af MySQL
Standardværktøjet til at interagere med MySQL er mysql
klientprogram. For at komme i gang skal du udføre følgende kommando ved din prompt:
mysql -u root -p
Du bliver bedt om at indtaste root MySQL-brugerens adgangskode. Indtast den adgangskode, du tildelte, da du installerede MySQL, og du vil blive præsenteret for MySQL-skærmen:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.49-1ubuntu8 (Ubuntu)
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>
Hvis du har glemt din root-adgangskode, skal du bruge pakkeomkonfigurationsværktøjet til at ændre denne adgangskode:
dpkg-reconfigure mysql-server-5.1
For at generere en liste over kommandoer til MySQL-prompten skal du skrive \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 the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement 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>
Lad os oprette en database og tildele en bruger til den. Udfør følgende kommandoer ved MySQL-prompten:
CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit
Lad os nu logge tilbage på MySQL-klienten som testuser
og opret en eksempeltabel kaldet "kunder". Udsted følgende kommandoer:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Dette opretter en tabel med et kunde-id-felt af typen INT for heltal (automatisk inkrementeret for nye poster og brugt som primærnøgle), samt to felter til lagring af kundens navn.
Som standard vil adgang til databaser være begrænset til forbindelser fra localhost. For at administrere dine databaser sikkert fra en fjernplacering, følg venligst vores guide til sikker administration af mysql med en SSH-tunnel. Det er ikke en god praksis at køre MySQL på din offentlige IP-adresse, medmindre du har en meget god grund til at gøre det.
Flere oplysninger
Du ønsker måske at konsultere følgende ressourcer for yderligere oplysninger om dette emne. Selvom disse leveres i håb om, at de vil være nyttige, bemærk venligst, at vi ikke kan stå inde for nøjagtigheden eller aktualiteten af eksternt hostede materialer.
- MySQL 5.1 Referencemanual
- PHP MySQL-manual
- Perl DBI-eksempler for DBD::mysql
- MySQLdb Brugervejledning