sql >> Database >  >> RDS >> Mysql

MySQL relationele databases gebruiken op Arch Linux

MySQL is een populair databasebeheersysteem dat wordt gebruikt als leverancier van gegevensopslag voor duizenden web- en servertoepassingen. Deze gids helpt beginners om aan de slag te gaan met MySQL op Arch Linux. Als u MySQL wilt implementeren als onderdeel van een applicatie-stack, kunt u onzeLEMP- en LAMP-handleidingen bekijken.

Systeemconfiguratie

Zorg ervoor dat uw /etc/hosts bestand heeft de juiste vermeldingen, vergelijkbaar met de onderstaande. Vervang "12.34.56.78" door het openbare adres van uw Linode, "servernaam" door uw korte hostnaam en "mijndomein.com" door de domeinnaam van uw systeem.

Bestand:/ etc/hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Stel de hostnaam van uw systeem in door de HOSTNAME= waarde in de /etc/rc.conf bestand.

MySQL installeren

Geef de volgende opdrachten om uw systeem bij te werken en MySQL te installeren:

pacman -Syu
pacman -S mysql

U wilt de mysqld . toevoegen daemon naar de DAEMONS-() array aan het einde van de /etc/rc.conf bestand om ervoor te zorgen dat het mysql-proces begint met de volgende herstartcyclus.

Het MySQL-serverpakket wordt op uw server geïnstalleerd, samen met afhankelijkheden en clientbibliotheken. Start MySQL door het volgende commando uit te voeren:

/etc/rc.d/mysqld start

MySQL configureren

Na het installeren van MySQL is het raadzaam om mysql_secure_installation uit te voeren , een programma dat helpt bij het beveiligen van MySQL. Tijdens het uitvoeren van mysql_secure_installation , krijgt u de mogelijkheid om het MySQL-rootwachtwoord te wijzigen, anonieme gebruikersaccounts te verwijderen, rootaanmeldingen buiten localhost uit te schakelen en testdatabases te verwijderen. Het wordt aanbevolen om ja te antwoorden op deze opties. Als u wordt gevraagd om de privilegetabellen opnieuw te laden, selecteert u ja. Voer de volgende opdracht uit om het programma uit te voeren:

mysql_secure_installation

Standaard luistert MySQL alleen naar interne verbindingen. Als u van plan bent om via TCP/IP verbinding te maken met uw database, moet u deze verwijderen of becommentariëren (bijv. de regel voorafgaan met een # ) voeg het bind-address toe regel in het bestand my.cnf. als volgt:

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

Onbeperkte toegang tot MySQL toestaan ​​op een openbaar IP-adres dat niet wordt geadviseerd, maar u kunt het adres waarop het luistert wijzigen door het bind-address aan te passen parameter. Als u besluit MySQL aan uw openbare IP-adres te binden, moet u firewallregels implementeren die alleen verbindingen vanaf specifieke IP-adressen toestaan.

Raadpleeg de sectie "Meer informatie" aan het einde van deze tutorial voor aanvullende bronnen die betrekking hebben op de configuratie van MySQL. Geef het volgende commando om de daemon opnieuw te starten:

/etc/rc.d/mysqld restart

Raadpleeg onze beveiligde MySQL-handleiding voor externe toegang voor informatie over verbinding maken met uw databases met lokale clients.

Gebruik MySQL

De standaard tool voor interactie met MySQL is de mysql cliënt programma. Geef om te beginnen de volgende opdracht op uw prompt:

mysql -u root -p

U wordt gevraagd om het wachtwoord van de root MySQL-gebruiker in te voeren. Voer het wachtwoord in dat u hebt toegewezen toen u MySQL installeerde, en u krijgt het MySQL-beeldscherm te zien:

    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>

Om een ​​lijst met opdrachten voor de MySQL-prompt te genereren, typt u \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>

Laten we een database maken en er een gebruiker aan toewijzen. Geef de volgende opdrachten op de MySQL-prompt:

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Laten we nu weer inloggen op de MySQL-client als testuser en maak een voorbeeldtabel met de naam 'klanten'. Geef de volgende opdrachten:

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

Dit creëert een tabel met een klant-ID-veld van het type INT voor integer (automatisch verhoogd voor nieuwe records, gebruikt als de primaire sleutel), evenals twee velden voor het opslaan van de naam van de klant. Natuurlijk wilt u voor een klant waarschijnlijk veel meer informatie dan dit opslaan, maar het is toch een goed voorbeeld van een veelvoorkomend geval.

Het root-wachtwoord van MySQL opnieuw instellen

Als u uw root MySQL-wachtwoord bent vergeten, kunt u dit resetten door de volgende opdrachten uit te voeren:

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

Het volgende deel van het opnieuw instellen van het wachtwoord wordt nu gedaan in het MySQL-clientprogramma:

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

Als laatste, herstart MySQL door het volgende commando te geven:

/etc/rc.d/mysqld restart

MySQL afstemmen

MySQL Tuner is een handige tool die verbinding maakt met een actief exemplaar van MySQL en configuratieaanbevelingen geeft op basis van de werkbelasting. Idealiter zou de MySQL-instantie ten minste 24 uur moeten hebben gewerkt voordat de tuner werd uitgevoerd. Hoe langer de instantie actief is, hoe beter het advies van MySQL Tuner.

Voer de volgende opdrachten uit om MySQL Tuner te installeren:

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

Om MySQL Tuner uit te voeren, voert u eenvoudig het volgende in:

./mysqltuner.pl

Houd er rekening mee dat deze tool is ontworpen om configuratiesuggesties te geven en een uitstekend startpunt is. Het zou verstandig zijn om aanvullend onderzoek te doen voor het afstemmen van configuraties op basis van de applicatie(s) die MySQL* gebruiken. *

Meer informatie

U kunt de volgende bronnen raadplegen voor aanvullende informatie over dit onderwerp. Hoewel deze worden verstrekt in de hoop dat ze nuttig zullen zijn, houd er rekening mee dat we niet kunnen instaan ​​voor de nauwkeurigheid of tijdigheid van extern gehost materiaal.

  • MySQL 5.1-referentiehandleiding
  • PHP MySQL-handleiding
  • Perl DBI-voorbeelden voor DBD::mysql
  • Gebruikershandleiding voor MySQLdb

  1. Fout bij het ophalen van tekst voor fout ORA-01804

  2. Hoe de primaire sleutelreeks van postgres opnieuw in te stellen wanneer deze niet meer synchroon loopt?

  3. Hoe een groep uit reguliere expressies in Oracle te extraheren?

  4. Php - Uw PHP-installatie lijkt de MySQL-extensie te missen die vereist is voor WordPress