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

Verwenden Sie relationale MySQL-Datenbanken unter Ubuntu 10.04 LTS (Lucid)

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 auf einem Ubuntu 10.04 LTS (Lucid) Linode. Für die Zwecke dieses Tutorials gehen wir davon aus, dass Sie die in unserem Einrichten und Sichern einer Compute-Instanz beschriebenen Schritte befolgt haben, dass Ihr System auf dem neuesten Stand ist und dass Sie sich über SSH als root bei Ihrem Linode angemeldet haben. Wenn Sie diese Schritte als Standardbenutzer mit sudo-Berechtigungen ausführen, denken Sie daran, den unten gezeigten Befehlen „sudo“ voranzustellen.

Grundlegende Systemkonfiguration

Stellen Sie sicher, dass Ihre /etc/hosts Datei enthält sinnvolle Werte. In der Beispieldatei unten würden Sie „12.34.56.78“ durch die IP-Adresse Ihres Linode und „servername.example.com“ durch den vollqualifizierten Domainnamen (FQDN) Ihres Linode ersetzen. Es ist ratsam, in dieser Datei etwas Einzigartiges und Einprägsames für „Servername“ zu verwenden.

Datei:/ etc/hosts
1
2
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.example.com servername

Stellen Sie als Nächstes sicher, dass der Hostname Ihres Linode auf den kurzen Wert eingestellt ist, den Sie in /etc/hosts angegeben haben :

echo "servername" > /etc/hostname
hostname -F /etc/hostname

Um sicherzustellen, dass universe Repositorys aktiviert sind, ändern Sie Ihre /etc/apt/sources.list Datei, um die Beispieldatei unten zu spiegeln.

Datei:/ etc/apt/sources.list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## main & restricted repositories
deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted

deb http://security.ubuntu.com/ubuntu lucid-security main restricted
deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted

## universe repositories
deb http://us.archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe
deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe

deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe

Installieren von MySQL

Stellen Sie sicher, dass Ihre Paket-Repositorys und installierten Programme auf dem neuesten Stand sind, indem Sie die folgenden Befehle ausführen:

apt-get update
apt-get upgrade --show-upgraded

Beginnen Sie mit der Eingabe des folgenden Befehls in Ihrem Terminal:

apt-get install mysql-server

Sie werden aufgefordert, ein Passwort für den MySQL-Root-Benutzer festzulegen. Wählen Sie ein starkes Passwort und bewahren Sie es an einem sicheren Ort auf, damit Sie später darauf zurückgreifen können.

Das MySQL-Serverpaket wird zusammen mit Abhängigkeiten und Clientbibliotheken auf Ihrem Server installiert. Nach der Installation von MySQL wird empfohlen, dass Sie mysql_secure_installation ausführen um 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

Nach dem Ausführen von mysql_secure_installation , MySQL ist sicher und kann konfiguriert werden.

MySQL konfigurieren

Standardmäßig macht MySQL einige Annahmen über Ihre Serverumgebung in Bezug auf den Arbeitsspeicher. Um MySQL konservativer zu konfigurieren, müssen Sie einige Einstellungen in seiner Konfigurationsdatei bearbeiten. Ihre Datei sollte wie folgt aussehen:

Datei:/ etc/mysql/my.cnf
1
2
3
4
5
6
key_buffer = 16M
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

Diese Einstellungen sind nur empfohlene Werte für eine Umgebung mit wenig Arbeitsspeicher; Bitte zögern Sie nicht, sie auf geeignete Werte für Ihren Server einzustellen. Weitere Ressourcen zu diesem Thema finden Sie im Abschnitt „Weitere Informationen“ am Ende dieses Tutorials.

MySQL bindet standardmäßig an localhost (127.0.0.1). Weitere Informationen zum Herstellen einer Verbindung zu Ihren Datenbanken mit lokalen Clients finden Sie in unserem Handbuch zum sicheren MySQL-Fernzugriff.

Uneingeschränkten Zugriff auf MySQL auf einer öffentlichen IP-Adresse zuzulassen, wird nicht empfohlen, 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.

Verwendung von 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 34
Server version: 5.1.41-3ubuntu12 (Ubuntu)

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

mysql>

Wenn Sie Ihr Root-Passwort vergessen haben, verwenden Sie das Paket-Neukonfigurationstool, um dieses Passwort zu ändern:

dpkg-reconfigure mysql-server-5.1

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

Dadurch wird eine Tabelle mit einem Kunden-ID-Feld vom Typ INT für Ganzzahl (wird bei neuen Datensätzen automatisch erhöht und als Primärschlüssel verwendet) sowie zwei Feldern zum Speichern des Kundennamens erstellt.

Standardmäßig ist der Zugriff auf Datenbanken auf Verbindungen von localhost beschränkt. Um Ihre Datenbanken sicher von einem entfernten Standort aus zu verwalten, folgen Sie bitte unserem Leitfaden zur sicheren Verwaltung von mysql mit einem SSH-Tunnel. Es ist nicht Es empfiehlt sich, MySQL auf Ihrer öffentlichen IP-Adresse auszuführen, es sei denn, Sie haben einen sehr guten Grund dafür.

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