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

So installieren Sie MySQL 8 auf Ubuntu

Dieses Tutorial enthält alle Schritte, die zum Installieren von MySQL 8 auf Ubuntu 18.04 LTS erforderlich sind. Die gleichen Schritte können für andere Ubuntu-Versionen durchgeführt werden.

Notizen :Um diesem Beitrag folgen zu können, müssen Sie die vorherige Installation des MySQL-Servers, die mit dem Installationsprogramm installiert wurde, vollständig entfernen, wenn sie bereits auf dem System installiert ist. Sie können How To Completely Remove MySQL From Ubuntu folgen, um die vorherige Installation, die mit dem Installationsprogramm durchgeführt wurde, vollständig zu entfernen.

Sie könnten auch an anderen MySQL-spezifischen Tutorials interessiert sein, darunter How To Install MySQL 8 on Fenster , und lernen Sie grundlegende SQL-Abfragen mit MySQL kennen.

Schritt 1 – Laden Sie das MySQL APT-Repository herunter

Seit MySQL 8 ist nicht in den offiziellen Repositories von Ubuntu 18.04 enthalten , müssen wir herunterladen sein Debian-Paket . Die aktuelle offiziell verfügbare Version von MySQL auf Ubuntu 18.04 ist 5.7.26 . Verwenden Sie den unten aufgeführten Befehl, um das neueste APT-Repository herunterzuladen.

# Download MySQL APT Repository
wget –c https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb

Es lädt das offizielle Debian-Paket herunter, um MySQL 8 zu installieren.

Schritt 2 – MySQL-Repository installieren

Verwenden Sie den unten aufgeführten Befehl, um mit der Installation des MySQL-Repositorys zu beginnen, indem Sie das von uns im vorherigen Schritt heruntergeladene Repository verwenden.

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb

Sie werden aufgefordert, aus den verfügbaren Optionen auszuwählen, wie in Abb. 1 gezeigt. Lassen Sie die Standardoption ausgewählt und drücken Sie die Eingabetaste, um die Installation zu starten.

Abb. 1

Auf dem nächsten Bildschirm fordert das Installationsprogramm Sie auf, die zu installierende MySQL-Version auszuwählen, wie in Abb. 2 gezeigt. Behalten Sie mysql-8 bei ausgewählt und drücken Sie die Eingabetaste.

Abb. 2

Es zeigt den ersten Bildschirm mit der ausgewählten Version von MySQL. Drücken Sie nun die Abwärtspfeiltaste und die Weiter-Pfeiltaste, um zu den OK-Optionen zu gelangen, wie in Abb. 3 gezeigt.

Abb. 3

Drücken Sie die Eingabetaste, um die Installation zu starten. Nach Abschluss der Installation werden die unten aufgeführten Meldungen angezeigt.

bravo@pc1:/setups/database$ sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Selecting previously unselected package mysql-apt-config.
(Reading database ... 200223 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.13-1_all.deb ...
Unpacking mysql-apt-config (0.8.13-1) ...
Setting up mysql-apt-config (0.8.13-1) ...
Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package mysql-apt-config)

Schritt 3 – System-Repositories aktualisieren

Aktualisieren Sie nun die System-Repositories mit dem unten aufgeführten Befehl.

sudo apt-get update

# It must show MySQL 8 repos
bravo@pc1:/setups/database$ sudo apt-get update
Hit:1 http://repo.mysql.com/apt/ubuntu bionic InRelease
Hit:2 http://in.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://in.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://in.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease
Get:6 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 Sources [962 B]
Get:7 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 i386 Packages [7,472 B]
Get:8 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 amd64 Packages [7,463 B]
Fetched 15.9 kB in 3s (5,556 B/s)
Reading package lists... Done

Es wird den Systemcache aktualisieren, um Updates zu den neuesten Versionen der verfügbaren Pakete zu erhalten.

Schritt 4 – MySQL-Server installieren

Nach dem Aktualisieren des Systemcaches können wir mit der Installation des MySQL-Servers und -Clients beginnen, indem wir den unten beschriebenen Befehl verwenden.

# Install MySQL Server 8
sudo apt-get install mysql-server mysql-client

Drücken Sie Y, um zu bestätigen und mit der Installation fortzufahren. Damit wird MySQL so installiert, wie wir es mit dem Standardpaket tun, das in Ubuntu-Repositories verfügbar ist. Die Installation fordert Sie außerdem auf, root auszuwählen Passwort und Standard-Passwort-Plugin, wie in Abb. 4, 5 und 6 gezeigt.

Abb. 4

Abb. 5

Abb. 6

Schritt 5 – Sichere MySQL-Installation

Wir müssen die Installation auch mit dem unten erwähnten Befehl sichern.

sudo mysql_secure_installation

Es wird Sie bitten, das Root-Passwort und einige Sicherheitsfragen festzulegen. Die vollständigen Schritte, denen ich gefolgt bin, sind wie unten gezeigt.

bravo@pc1:/setups/database$ sudo mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Using existing password for root.

Estimated strength of the password: 25
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!
bravo@pc1:/setups/database$

Die obigen Schritte entfernen die Testdatenbank und anonyme Benutzer. Es erlaubt auch keine Remote-Anmeldung, um sicherzustellen, dass der Server lokal zugänglich ist, entweder über 127.0.0.1 oder localhost .

Verwenden Sie den unten aufgeführten Befehl, um zu prüfen, ob der MySQL-Server läuft.

bravo@pc1:/setups/database$ systemctl status mysql
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-08-15 10:40:47 IST; 4min 45s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 28669 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 28708 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4915)
CGroup: /system.slice/mysql.service
└─28708 /usr/sbin/mysqld

Aug 15 10:40:45 bravo systemd[1]: Starting MySQL Community Server...
Aug 15 10:40:47 bravo systemd[1]: Started MySQL Community Server.

Schritt 6 – Version und Zugriff prüfen

Überprüfen Sie die von uns installierte Version des Servers und stellen Sie außerdem sicher, dass der Server mit dem von uns konfigurierten Root-Passwort erreichbar ist.

# Check version
sudo mysql --version
mysql Ver 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)

# Login
sudo mysql -u root -p

Schritt 7 - Wichtige Befehle

Dieser Abschnitt zeigt einige der wichtigen Befehle zum Starten, Stoppen und Neustarten des Servers.

# Check server status
sudo service mysql status

# Stop server
sudo service mysql stop

# Start server
sudo service mysql start

# Restart server
sudo service mysql restart

Schritt 8 - Verwenden von Passwort-Plugins

Falls Sie sich entschieden haben, die Passwort-Plugin-Option für Backword-Kompatibilität mit Version 5.7 zu verwenden, ist es möglicherweise erforderlich, sich mit dem MySQL-Server unter Verwendung des Kontos mit Passwort mit der mysql_native_password-Option. Wir können das standardmäßige Verhalten ändern des ausgewählten Kontos, um das native Passwort mit den unten gezeigten Befehlen zu verwenden.

# Login to MySQL

# Check password plugin of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;

# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

# Change password plugin of root user to native
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<pw>';

# Apply changes
flush privileges;

# Check password scheme of user
SELECT user,authentication_string,plugin,host FROM mysql.user;

# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *E5C4F73D963132CEF9BB4PA79LA818C08BAQC300 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

# Change to new and recommended password plugin
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<pw>';

# Apply changes
flush privileges;

# Check password scheme of user
SELECT user,authentication_string,plugin,host FROM mysql.user;

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| root | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+

So können wir die neueste Version des MySQL-Servers installieren, d. h. MySQL 8 auf Ubuntu 18.04 LTS.