MySQL er et populært databasestyringssystem, der bruges til web- og serverapplikationer. Denne guide vil introducere, hvordan du installerer, konfigurerer og administrerer MySQL på en Linode, der kører Ubuntu 14.04 LTS (Trusty Tahr).
Vi anbefaler at bruge en Linode med høj hukommelse med denne vejledning.
Bemærk Denne guide er skrevet til en ikke-rootbruger. Kommandoer, der kræver forhøjede privilegier, er præfikset medsudo
. Hvis du ikke er bekendt medsudo
kommando, kan du tjekke vores bruger- og gruppervejledning.
Før du begynder
-
Hvis du ikke allerede har gjort det, skal du oprette en Linode-konto og Compute Instance. Se vores vejledninger Kom godt i gang med Linode og Oprettelse af en beregningsinstans.
-
Følg vores guide til konfiguration og sikring af en computerinstans for at opdatere dit system og konfigurere dit værtsnavn. Du ønsker måske også at indstille tidszonen, oprette en begrænset brugerkonto og skærpe SSH-adgang.
Sådan tjekker du dit værtsnavn:
hostname hostname -f
Den første kommando skal vise dit korte værtsnavn, og den anden skal vise dit fuldt kvalificerede domænenavn (FQDN), hvis du har tildelt et.
Installer MySQL
sudo apt-get install mysql-server
Under installationsprocessen bliver du bedt om at indstille en adgangskode til MySQL root-brugeren som vist nedenfor. Vælg en stærk adgangskode, og opbevar den et sikkert sted til fremtidig reference.
MySQL vil binde til localhost (127.0.0.1) som standard. Se venligst vores MySQL fjernadgangsvejledning for at få oplysninger om tilslutning til dine databaser ved hjælp af SSH.
Bemærk Det anbefales ikke at tillade ubegrænset adgang til MySQL på en offentlig IP, men du kan ændre adressen, den lytter til ved at ændrebind-address
parameter i/etc/my.cnf
. 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.
Harden MySQL Server
Kør mysql_secure_installation scriptet for at løse flere sikkerhedsproblemer i en standard MySQL installation:
sudo mysql_secure_installation
Du vil blive givet valget mellem at ændre MySQL root-adgangskoden, fjerne anonyme brugerkonti, deaktivere root-login uden for localhost og fjerne testdatabaser. Det anbefales, at du svarer ja til disse muligheder. Du kan læse mere om scriptet i MySQL Reference Manual.
Brug MySQL
Standardværktøjet til at interagere med MySQL er mysql
klient, som installeres med mysql-server
pakke. MySQL-klienten tilgås via en terminal.
Root-login
-
Sådan logger du på MySQL som root-bruger:
mysql -u root -p
-
Når du bliver bedt om det, skal du indtaste den root-adgangskode, du tildelte, da
mysql_secure_installation
script blev kørt.Du vil derefter blive præsenteret for MySQL-skærmprompten:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
-
Indtast
\h
for at generere en liste over kommandoer til MySQL-prompten . Du vil derefter se: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>
Opret en ny MySQL-bruger og -database
-
I eksemplet nedenfor,
testdb
er navnet på databasen,testuser
er brugeren ogpassword
er brugerens adgangskode.1 2 3
create database testdb; create user 'testuser'@'localhost' identified by 'password'; grant all on testdb.* to 'testuser';
Du kan forkorte denne proces ved at oprette brugeren mens tildeling af databasetilladelser:
1 2
create database testdb; grant all on testdb.* to 'testuser' identified by 'password';
-
Afslut MySQL.
exit
Opret en prøvetabel
-
Log ind igen som
testuser
.mysql -u testuser -p
-
Opret en eksempeltabel kaldet
customers
. Dette opretter en tabel med et kunde-id-felt af typenINT
for heltal (automatisk inkrementeret for nye poster, brugt som primær nøgle), samt to felter til lagring af kundens navn.1 2
use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
-
Afslut derefter MySQL.
exit
Nulstil MySQL-rodadgangskoden
Hvis du glemmer din MySQL root-adgangskode, kan den nulstilles.
-
Stop den aktuelle MySQL-serverinstans:
sudo service mysql stop
-
Brug dpkg til at køre den konfigurationsproces, som MySQL gennemgår ved første installation, igen. Du vil igen blive bedt om at angive en root-adgangskode.
sudo dpkg-reconfigure mysql-server-5.5
-
Start derefter MySQL:
sudo service mysql start
Du vil nu være i stand til at logge ind igen ved hjælp af mysql -u root -p
.
Indstil MySQL
MySQL Tuner er et Perl-script, der forbinder til en kørende forekomst af MySQL og giver konfigurationsanbefalinger baseret på arbejdsbelastning. Ideelt set skulle MySQL-instansen have været i drift i mindst 24 timer, før tuneren blev kørt. Jo længere instansen har kørt, jo bedre råd vil MySQL Tuner give.
-
Installer MySQL Tuner fra Ubuntus depoter:
sudo apt-get install mysqltuner
-
For at køre det:
mysqltuner
Du bliver bedt om MySQL root-brugerens navn og adgangskode. Outputtet vil vise to interesseområder:Generelle anbefalinger og Variabler, der skal justeres.
MySQL Tuner er et glimrende udgangspunkt for at optimere en MySQL-server, men det ville være klogt at udføre yderligere forskning for konfigurationer, der er skræddersyet til den eller de applikationer, der bruger MySQL på din Linode.
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.5 Referencemanual
- PHP MySQL-manual
- Perl DBI-eksempler for DBD::mysql
- MySQLdb Brugervejledning