sql >> Databasteknik >  >> RDS >> Mysql

Använda MySQL relationsdatabaser på Arch Linux

MySQL är ett populärt databashanteringssystem som används som datalagringsleverantör för tusentals webb- och serverapplikationer. Den här guiden hjälper nybörjare att komma igång med MySQL på Arch Linux. Om du vill distribuera MySQL som en del av en applikationsstack, överväg våra LEMP- och LAMP-guider.

Systemkonfiguration

Se till att din /etc/hosts filen har korrekta poster, liknande de som visas nedan. Ersätt "12.34.56.78" med din Linodes offentliga adress, "servernamn" med ditt korta värdnamn och "mydomain.com" med ditt systems domännamn.

Fil:/ etc/värdar
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Ställ in ditt systems värdnamn genom att ställa in HOSTNAME= värde i /etc/rc.conf fil.

Installera MySQL

Ge följande kommandon för att uppdatera ditt system och installera MySQL:

pacman -Syu
pacman -S mysql

Du kommer att vilja lägga till mysqld daemon till DAEMONS-() array i slutet av /etc/rc.conf fil för att säkerställa att mysql-processen startar efter nästa omstartscykel.

MySQL-serverpaketet kommer att installeras på din server, tillsammans med beroenden och klientbibliotek. Starta MySQL genom att köra följande kommando:

/etc/rc.d/mysqld start

Konfigurera MySQL

När du har installerat MySQL rekommenderar vi att du kör mysql_secure_installation , ett program som hjälper till att säkra MySQL. När du kör mysql_secure_installation , kommer du att presenteras med möjligheten att ändra MySQL root-lösenordet, ta bort anonyma användarkonton, inaktivera root-inloggningar utanför localhost och ta bort testdatabaser. Det rekommenderas att du svarar ja på dessa alternativ. Om du uppmanas att ladda om behörighetstabellerna väljer du Ja. Kör följande kommando för att köra programmet:

mysql_secure_installation

Som standard lyssnar MySQL endast efter interna anslutningar. Om du planerar att ansluta till din databas via TCP/IP måste du ta bort eller kommentera (t.ex. prefix raden med en # ) lägg till bind-address rad i my.cnf-filen. enligt följande:

Fil:/ etc/mysql/my.cnf
1
2
# skip-networking
bind-address - 127.0.0.1

Att tillåta obegränsad åtkomst till MySQL på en offentlig IP rekommenderas inte, men du kan ändra adressen den lyssnar på genom att ändra bind-address parameter. Om du bestämmer dig för att binda MySQL till din publika IP bör du implementera brandväggsregler som endast tillåter anslutningar från specifika IP-adresser.

Se avsnittet "Mer information" i slutet av denna handledning för ytterligare resurser som behandlar konfigurationen av MySQL. Ge följande kommando för att starta om demonen:

/etc/rc.d/mysqld restart

Se vår säkra MySQL fjärråtkomstguide för information om hur du ansluter till dina databaser med lokala klienter.

Använd MySQL

Standardverktyget för att interagera med MySQL är mysql klientprogram. För att komma igång, utfärda följande kommando vid din prompt:

mysql -u root -p

Du kommer att bli ombedd att ange root MySQL-användarens lösenord. Ange lösenordet du tilldelade när du installerade MySQL, så kommer du att se MySQL-skärmen:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.9-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

För att skapa en lista med kommandon för MySQL-prompten, skriv \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>

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'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
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);
exit

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 för en kund, men det är ändå ett bra exempel på ett vanligt fall.

Hur man återställer MySQL:s rotlösenord

Om du har glömt ditt root MySQL-lösenord kan du återställa det genom att utfärda följande kommandon:

/etc/rc.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

Följande del av lösenordsåterställningen kommer nu att göras i MySQL-klientprogrammet:

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

Sist, starta om MySQL genom att utfärda följande kommando:

/etc/rc.d/mysqld restart

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 kommandon:

pacman -S wget
wget http://mysqltuner.pl/mysqltuner.pl
chmod 755 mysqltuner.pl

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

./mysqltuner.pl

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. Kan inte hitta rubriken 'libpq-fe.h när du försöker installera pg gem

  2. Hur man installerar MySQL på Windows 10? – Din One Stop-lösning för att installera MySQL

  3. Hur får man åtkomst till fjärrserver med lokal phpMyAdmin-klient?

  4. Rails 3 ActiveRecord:Beställ efter räkning på association