sql >> Database teknologi >  >> RDS >> Mysql

Brug af MySQL relationelle databaser på Gentoo

MySQL er et relationelt databasestyringssystem (RDBMS), der bruges som backend til utallige web- og serverapplikationer. Oprindeligt udgivet i 1995, er det stadig et populært valg for udviklere som databaseserver.

Før du starter denne vejledning, skal du sørge for, at du har gennemført de trin, der er beskrevet i vores Opsætning og sikring af en computerforekomst. Sørg desuden for, at du er logget ind på dit system som root-bruger.

Installation af MySQL

Udsted følgende kommando for at sikre, at dit pakkelager er opdateret:

emerge --sync

Den følgende kommando vil opdatere alle pakker og deres afhængigheder af systemet. Hvis du ikke er tryg ved at køre denne kommando, kan du springe den over eller bruge emerge --update world :

emerge --update --deep world

Udsted følgende kommando for at installere MySQL:

emerge dev-db/mysql

Når denne proces er afsluttet, skal du også installere de databaser, som MySQL bruger. Udfør følgende kommando:

mysql_install_db

Du er nu klar til at starte MySQL-serveren for første gang:

/etc/init.d/mysql start

Du skal køre mysql_secure_installation for at indstille en root-adgangskode og sikre din MySQL-instans. Udfør følgende kommando:

mysql_secure_installation

Hvis du gerne vil have MySQL til at køre, når systemet starter, skal du udsende følgende kommando:

rc-update add mysql default

Konfiguration af MySQL

Som standard binder MySQL til localhost. Hvis du ønsker, at MySQL skal lytte på en offentlig IP, kan du ændre bind-address værdi i /etc/mysql/my.cnf for at afspejle din Linodes IP-adresse. Det anbefales ikke at tillade ubegrænset adgang til MySQL på en offentlig IP-adresse, og du vil måske overveje at implementere firewall-regler for kun at tillade trafik fra specifikke IP-adresser.

Forslagene ovenfor er muligvis ikke passende for alle miljøer, så vær sikker på, at din applikation ikke kræver forskellige indstillinger. Se venligst de yderligere ressourcer i afsnittet "Flere oplysninger" i denne vejledning for mere detaljeret dokumentation om konfiguration af MySQL.

Hver gang du ændrer indstillingerne i /etc/mysql/my.cnf , skal du genstarte MySQL-serveren. Udfør følgende kommando:

/etc/init.d/mysql restart

Brug af MySQL

Det meste interaktion med MySQL sker via mysql kommandolinjeværktøj. Udsted følgende kommando for at interagere med MySQL:

mysql -u root -p

Når du bliver bedt om det, skal du indtaste den adgangskode, du oprettede under mysql_secure_installation behandle. Når du har gjort det, vil du blive mødt med MySQL-prompten:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.51-log Gentoo Linux mysql-5.1.51

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 glemmer din MySQL root adgangskode på et senere tidspunkt, kan den nulstilles med følgende rækkefølge af kommandoer:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysqladmin -u root

Når du er logget ind, skal du indtaste følgende kommandoer ved MySQL-prompten:

USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE User='root';
FLUSH PRIVILEGES;
exit

For at se en liste over tilgængelige kommandoer (ikke SQL-syntaks), udstede \h ved MySQL-prompten:

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.

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' IDENTIFIED BY 's8723hk2';

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';

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, brugt som primærnøgle), samt to felter til lagring af kundens navn. Selvfølgelig vil du sikkert gerne gemme meget mere information end dette på en kunde, men det er ikke desto mindre et godt eksempel på en almindelig sag.

Justering af MySQL

MySQL Tuner er et nyttigt værktøj, 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.

Udfør følgende kommando for at installere MySQL Tuner:

emerge dev-db/mysqltuner

For at køre MySQL Tuner skal du blot indtaste:

mysqltuner

Bemærk venligst, at dette værktøj er designet til at give konfigurationsforslag og er et glimrende udgangspunkt. Det ville være klogt at udføre yderligere undersøgelser for tuning af konfigurationer baseret på den eller de applikationer, der bruger MySQL.

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

  1. Sådan indlæses JDBC-konfiguration fra Egenskabsfil Eksempel

  2. 3 måder at finde positionen af ​​en understreng i en streng i MySQL

  3. MySQL SQRT() Funktion – Returner kvadratroden af ​​et tal i MySQL

  4. Hvordan opdeles navnestrengen i mysql?