Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden von relationalen MySQL-Datenbanken unter Arch Linux

MySQL ist ein beliebtes Datenbankverwaltungssystem, das als Datenspeicheranbieter für Tausende von Web- und Serveranwendungen verwendet wird. Diese Anleitung hilft Anfängern beim Einstieg in MySQL unter Arch Linux. Wenn Sie MySQL als Teil eines Anwendungsstapels bereitstellen möchten, ziehen Sie unsere LEMP- und LAMP-Leitfäden in Betracht.

Systemkonfiguration

Stellen Sie sicher, dass Ihre /etc/hosts Datei hat richtige Einträge, ähnlich den unten gezeigten. Ersetzen Sie „12.34.56.78“ durch die öffentliche Adresse Ihres Linode, „servername“ durch Ihren kurzen Hostnamen und „mydomain.com“ durch den Domainnamen Ihres Systems.

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

Legen Sie den Hostnamen Ihres Systems fest, indem Sie HOSTNAME= festlegen Wert in /etc/rc.conf Datei.

Installieren Sie MySQL

Führen Sie die folgenden Befehle aus, um Ihr System zu aktualisieren und MySQL zu installieren:

pacman -Syu
pacman -S mysql

Sie werden den mysqld hinzufügen wollen Daemon zum DAEMONS-() -Array am Ende der /etc/rc.conf Datei, um sicherzustellen, dass der mysql-Prozess nach dem nächsten Neustartzyklus startet.

Das MySQL-Serverpaket wird zusammen mit Abhängigkeiten und Clientbibliotheken auf Ihrem Server installiert. Starten Sie MySQL, indem Sie den folgenden Befehl ausführen:

/etc/rc.d/mysqld start

MySQL konfigurieren

Nach der Installation von MySQL wird empfohlen, dass Sie mysql_secure_installation ausführen , ein Programm, das hilft, MySQL zu sichern. Beim Ausführen von mysql_secure_installation , haben Sie die Möglichkeit, das MySQL-Root-Passwort zu ändern, anonyme Benutzerkonten zu entfernen, Root-Anmeldungen außerhalb von localhost zu deaktivieren und Testdatenbanken zu entfernen. Es wird empfohlen, diese Optionen mit Ja zu beantworten. Wenn Sie aufgefordert werden, die Berechtigungstabellen neu zu laden, wählen Sie Ja aus. Führen Sie den folgenden Befehl aus, um das Programm auszuführen:

mysql_secure_installation

Standardmäßig lauscht MySQL nur auf interne Verbindungen. Wenn Sie über TCP/IP eine Verbindung zu Ihrer Datenbank herstellen möchten, müssen Sie diese entfernen oder auskommentieren (z. B. der Zeile ein # voranstellen). ) fügen Sie die bind-address hinzu Zeile in der Datei my.cnf. wie folgt:

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

Es wird nicht empfohlen, uneingeschränkten Zugriff auf MySQL auf einer öffentlichen IP-Adresse zuzulassen, aber Sie können die Adresse ändern, auf der MySQL lauscht, indem Sie die bind-address ändern Parameter. Wenn Sie sich entscheiden, MySQL an Ihre öffentliche IP zu binden, sollten Sie Firewall-Regeln implementieren, die nur Verbindungen von bestimmten IP-Adressen zulassen.

Weitere Ressourcen zur Konfiguration von MySQL finden Sie im Abschnitt „Weitere Informationen“ am Ende dieses Tutorials. Geben Sie den folgenden Befehl aus, um den Daemon neu zu starten:

/etc/rc.d/mysqld restart

Weitere Informationen zum Herstellen einer Verbindung zu Ihren Datenbanken mit lokalen Clients finden Sie in unserem Handbuch zum sicheren MySQL-Fernzugriff.

Verwenden Sie MySQL

Das Standardwerkzeug für die Interaktion mit MySQL ist mysql Client-Programm. Geben Sie zu Beginn den folgenden Befehl an Ihrer Eingabeaufforderung ein:

mysql -u root -p

Sie werden aufgefordert, das Passwort des Root-MySQL-Benutzers einzugeben. Geben Sie das Passwort ein, das Sie bei der Installation von MySQL zugewiesen haben, und Sie erhalten die MySQL-Monitoranzeige:

    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>

Um eine Liste mit Befehlen für die MySQL-Eingabeaufforderung zu generieren, geben Sie \h ein :

    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>

Lassen Sie uns eine Datenbank erstellen und ihr einen Benutzer zuweisen. Führen Sie die folgenden Befehle an der MySQL-Eingabeaufforderung aus:

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

Melden wir uns nun wieder als testuser beim MySQL-Client an und erstellen Sie eine Beispieltabelle mit dem Namen „Kunden“. Geben Sie die folgenden Befehle aus:

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

Dadurch wird eine Tabelle mit einem Kunden-ID-Feld vom Typ INT für Integer (automatisch inkrementiert für neue Datensätze, verwendet als Primärschlüssel) sowie zwei Feldern zum Speichern des Kundennamens erstellt. Natürlich möchten Sie wahrscheinlich viel mehr Informationen als diese für einen Kunden speichern, aber es ist dennoch ein gutes Beispiel für einen häufigen Fall.

So setzen Sie das Root-Passwort von MySQL zurück

Wenn Sie Ihr MySQL-Root-Passwort vergessen haben, können Sie es zurücksetzen, indem Sie die folgenden Befehle ausführen:

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

Der folgende Teil des Zurücksetzens des Passworts wird nun innerhalb des MySQL-Client-Programms durchgeführt:

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

Zuletzt starten Sie MySQL neu, indem Sie den folgenden Befehl ausführen:

/etc/rc.d/mysqld restart

MySQL optimieren

MySQL Tuner ist ein nützliches Tool, das eine Verbindung zu einer laufenden Instanz von MySQL herstellt und Konfigurationsempfehlungen basierend auf der Arbeitslast bereitstellt. Idealerweise sollte die MySQL-Instanz mindestens 24 Stunden in Betrieb gewesen sein, bevor der Tuner ausgeführt wird. Je länger die Instanz läuft, desto besser wird MySQL Tuner beraten.

Geben Sie die folgenden Befehle ein, um MySQL Tuner zu installieren:

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

Um MySQL Tuner auszuführen, geben Sie einfach ein:

./mysqltuner.pl

Bitte beachten Sie, dass dieses Tool dazu dient, Konfigurationsvorschläge zu liefern und ein hervorragender Ausgangspunkt ist. Es wäre ratsam, zusätzliche Nachforschungen anzustellen, um Konfigurationen basierend auf der/den Anwendung(en) zu optimieren, die MySQL*. verwenden *

Weitere Informationen

Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.

  • MySQL 5.1 Referenzhandbuch
  • PHP-MySQL-Handbuch
  • Perl-DBI-Beispiele für DBD::mysql
  • MySQLdb-Benutzerhandbuch