sql >> Databasteknik >  >> RDS >> Mysql

Använder MySQL relationsdatabaser på Gentoo

MySQL är ett relationsdatabashanteringssystem (RDBMS) som används som backend för otaliga webb- och serverapplikationer. Ursprungligen släppt 1995, är det fortfarande ett populärt val för utvecklare som databasserver.

Innan du börjar med den här guiden, se till att du har slutfört stegen som beskrivs i vår Konfigurera och säkra en beräkningsinstans. Se dessutom till att du är inloggad på ditt system som root-användare.

Installera MySQL

Ge följande kommando för att se till att ditt paketförråd är uppdaterat:

emerge --sync

Följande kommando kommer att uppdatera alla paket och deras beroenden av systemet. Om du inte är bekväm med att köra det här kommandot kan du hoppa över det eller använda emerge --update world :

emerge --update --deep world

Ge följande kommando för att installera MySQL:

emerge dev-db/mysql

När denna process har slutförts måste du också installera databaserna som MySQL använder. Ge följande kommando:

mysql_install_db

Du är nu redo att starta MySQL-servern för första gången:

/etc/init.d/mysql start

Du måste köra mysql_secure_installation för att ställa in ett root-lösenord och säkra din MySQL-instans. Ge följande kommando:

mysql_secure_installation

Om du vill att MySQL ska köras när systemet startar, utfärda följande kommando:

rc-update add mysql default

Konfigurera MySQL

Som standard binder MySQL till localhost. Om du vill att MySQL ska lyssna på en offentlig IP kan du ändra bind-address värde i /etc/mysql/my.cnf för att återspegla din Linodes IP-adress. Att tillåta obegränsad åtkomst till MySQL på en offentlig IP rekommenderas inte, och du kanske vill överväga att implementera brandväggsregler för att endast tillåta trafik från specifika IP-adresser.

Förslagen ovan kanske inte är lämpliga för alla miljöer, så se till att din applikation inte kräver olika inställningar. Se de ytterligare resurserna i avsnittet "Mer information" i den här guiden för mer utförlig dokumentation om hur du konfigurerar MySQL.

Varje gång du ändrar inställningarna i /etc/mysql/my.cnf måste du starta om MySQL-servern. Ge följande kommando:

/etc/init.d/mysql restart

Använda MySQL

Den mesta interaktionen med MySQL sker via mysql kommandoradsverktyget. Ge följande kommando för att interagera med MySQL:

mysql -u root -p

När du uppmanas anger du lösenordet som du skapade under mysql_secure_installation bearbeta. När du har gjort det kommer du att hälsas 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>

Om du glömmer ditt MySQL root-lösenord vid ett senare tillfälle kan det återställas med följande kommandosekvens:

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

När du har loggat in anger du följande kommandon vid MySQL-prompten:

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

För att se en lista över tillgängliga kommandon (inte SQL-syntax), utfärda \h vid 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.

Låt oss skapa en databas och tilldela en användare till den. Ge följande kommandon vid MySQL-prompten:

CREATE DATABASE testdb;

CREATE USER 'testuser' IDENTIFIED BY 's8723hk2';

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

exit

Låt oss nu logga tillbaka till MySQL-klienten som testuser och skapa en exempeltabell som heter "kunder". Ge följande kommandon:

mysql -u testuser -p

USE testdb;

CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);

Detta skapar en tabell med ett kund-ID-fält av typen INT för heltal (automatiskt inkrementerat för nya poster, används som primärnyckel), samt två fält för att lagra kundens namn. Naturligtvis skulle du förmodligen vilja lagra mycket mer information än så här på en kund, men det är ändå ett bra exempel på ett vanligt fall.

Justera MySQL

MySQL Tuner är ett användbart verktyg som ansluter till en pågående instans av MySQL och ger konfigurationsrekommendationer baserat på arbetsbelastning. Helst skulle MySQL-instansen ha varit i drift i minst 24 timmar innan tunern kördes. Ju längre instansen har körts, desto bättre råd ger MySQL Tuner.

För att installera MySQL Tuner, utfärda följande kommando:

emerge dev-db/mysqltuner

För att köra MySQL Tuner anger du:

mysqltuner

Observera att det här verktyget är utformat för att ge konfigurationsförslag och är en utmärkt utgångspunkt. Det skulle vara klokt att utföra ytterligare forskning för att trimma konfigurationer baserat på applikationen/applikationerna som använder MySQL.

Mer information

Du kanske vill konsultera följande resurser för ytterligare information om detta ämne. Även om dessa tillhandahålls i hopp om att de kommer att vara användbara, vänligen observera att vi inte kan garantera noggrannheten eller aktualiteten hos externt värdmaterial.

  • MySQL 5.1 Referensmanual
  • Handbok för PHP MySQL
  • Perl DBI-exempel för DBD::mysql
  • MySQLdb användarhandbok

  1. Hur kan jag radera med INNER JOIN med SQL Server?

  2. Hur undkommer jag specialtecken i MySQL?

  3. Hur man ansluter till MySQL från kommandoraden

  4. Läsbara sekundärer på en budget