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

Brug af MySQL relationelle databaser på Arch Linux

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å Arch Linux. Hvis du gerne vil implementere MySQL som en del af en applikationsstak, kan du overveje vores LEMP- og LAMP-vejledninger.

Systemkonfiguration

Sørg for at din /etc/hosts filen har korrekte indgange, svarende til dem, der er vist nedenfor. Erstat "12.34.56.78" med din Linodes offentlige adresse, "servernavn" med dit korte værtsnavn og "mitdomæne.com" med dit systems domænenavn.

Fil:/ osv/værter
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Indstil dit systems værtsnavn ved at indstille HOSTNAME= værdi i /etc/rc.conf fil.

Installer MySQL

Udsted følgende kommandoer for at opdatere dit system og installere MySQL:

pacman -Syu
pacman -S mysql

Du vil tilføje mysqld dæmon til DAEMONS-() array i slutningen af ​​/etc/rc.conf fil for at sikre, at mysql-processen starter efter den næste genstartscyklus.

MySQL-serverpakken vil blive installeret på din server sammen med afhængigheder og klientbiblioteker. Start MySQL ved at køre følgende kommando:

/etc/rc.d/mysqld start

Konfigurer MySQL

Efter installation af MySQL, anbefales det, at du kører mysql_secure_installation , et program, der hjælper med at sikre MySQL. Mens du kører mysql_secure_installation , vil du blive præsenteret for muligheden for 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. Hvis du bliver bedt om at genindlæse privilegietabellerne, skal du vælge Ja. Kør følgende kommando for at udføre programmet:

mysql_secure_installation

Som standard lytter MySQL kun efter interne forbindelser. Hvis du planlægger at oprette forbindelse til din database via TCP/IP, skal du fjerne eller kommentere (f.eks. præfiks linjen med en # ) tilføje bind-address linje i my.cnf-filen. som følger:

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

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.

Se afsnittet "Flere oplysninger" i slutningen af ​​denne vejledning for yderligere ressourcer, der omhandler konfigurationen af ​​MySQL. Udsted følgende kommando for at genstarte dæmonen:

/etc/rc.d/mysqld restart

Se venligst vores sikre MySQL fjernadgangsvejledning for at få oplysninger om tilslutning til dine databaser med lokale klienter.

Brug 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 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>

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);
exit

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 for en kunde, men det er ikke desto mindre et godt eksempel på en almindelig sag.

Sådan nulstiller du MySQL's root-adgangskode

Hvis du har glemt din root MySQL adgangskode, kan du nulstille den ved at udstede følgende kommandoer:

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

Den følgende del af nulstillingen af ​​adgangskoden vil nu blive udført i MySQL-klientprogrammet:

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

Til sidst, genstart MySQL ved at udstede følgende kommando:

/etc/rc.d/mysqld restart

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 kommandoer for at installere MySQL Tuner:

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

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

./mysqltuner.pl

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 forskning for at justere konfigurationer baseret på applikationen/applikationerne, 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. Vedligeholdelse af orden i MySQL IN-forespørgsel

  2. Tjek om et objekt er en lagret procedure ved at bruge OBJECTPROPERTY() i SQL Server

  3. Opdater SQL-tilstand i MySQL

  4. Operatøren findes ikke:json =json