sql >> Base de Datos >  >> RDS >> Mysql

Cómo instalar MySQL 8 en Ubuntu

Este tutorial proporciona todos los pasos necesarios para instalar MySQL 8 en Ubuntu 18.04 LTS. Se podrían seguir los mismos pasos para otras versiones de Ubuntu.

Notas :Para seguir esta publicación, debe eliminar por completo la instalación anterior del servidor MySQL instalada usando el instalador si ya está instalado en el sistema. Puede seguir Cómo eliminar completamente MySQL de Ubuntu para eliminar por completo la instalación anterior realizada con el instalador.

También puede estar interesado en otros tutoriales específicos de MySQL, incluido Cómo instalar MySQL 8 en Ventanas , y Aprenda Consultas SQL Básicas Usando MySQL.

Paso 1:descarga el repositorio APT de MySQL

Desde MySQL 8 no está incluido en los repositorios oficiales de Ubuntu 18.04 , tenemos que descargar su paquete Debian . La versión actual disponible oficialmente de MySQL en Ubuntu 18.04 es 5.7.26 . Use el comando mencionado a continuación para descargar el repositorio APT más reciente.

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

Descargará el paquete oficial de Debian para instalar MySQL 8.

Paso 2:instalar el repositorio de MySQL

Use el comando mencionado a continuación para comenzar a instalar el repositorio MySQL usando el repositorio descargado por nosotros en el paso anterior.

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

Le pedirá que elija entre las opciones disponibles, como se muestra en la Fig. 1. Mantenga seleccionada la opción predeterminada y presione la tecla Intro para iniciar la instalación.

higo 1

En la siguiente pantalla, el instalador le pedirá que elija la versión de MySQL que se instalará como se muestra en la figura 2. Mantenga mysql-8 seleccionado y presione la tecla Enter.

higo 2

Mostrará la primera pantalla con la versión seleccionada de MySQL. Ahora presione la tecla de flecha hacia abajo y la tecla de flecha siguiente para pasar a las opciones OK como se muestra en la Fig. 3.

higo 3

Presione la tecla Enter para iniciar la instalación. Mostrará los mensajes mencionados a continuación después de completar la instalación.

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)

Paso 3:Actualizar repositorios del sistema

Ahora actualice los repositorios del sistema usando el comando como se menciona a continuación.

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

Actualizará el caché del sistema para obtener actualizaciones sobre las versiones más recientes de los paquetes disponibles.

Paso 4:instalar el servidor MySQL

Después de actualizar el caché del sistema, podemos comenzar a instalar el servidor y el cliente MySQL usando el comando que se menciona a continuación.

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

Presione Y para confirmar y continuar con la instalación. Con esto, MySQL se instala como lo hacemos con el paquete predeterminado disponible en los repositorios de Ubuntu. La instalación también le pedirá que elija root Complemento de contraseña y contraseña predeterminada como se muestra en las figuras 4, 5 y 6.

higo 4

higo 5

higo 6

Paso 5:instalación segura de MySQL

También debemos asegurar la instalación usando el comando como se menciona a continuación.

sudo mysql_secure_installation

Le pedirá que establezca la contraseña de root y algunas preguntas de seguridad. Los pasos completos que he seguido se muestran a continuación.

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$

Los pasos anteriores eliminan la base de datos de prueba y los usuarios anónimos. También no permite el inicio de sesión remoto para garantizar que se pueda acceder localmente al servidor usando 127.0.0.1 o localhost .

Use el comando mencionado a continuación para verificar si el servidor MySQL se está ejecutando.

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.

Paso 6:comprobar la versión y acceder

Verifique la versión del servidor que instalamos y también asegúrese de que se pueda acceder al servidor usando la contraseña raíz configurada por nosotros.

# 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

Paso 7 - Comandos importantes

Esta sección muestra algunos de los comandos importantes para iniciar, detener y reiniciar el servidor.

# 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

Paso 8:uso de complementos de contraseña

En caso de que haya optado por usar la opción de complemento de contraseña para la compatibilidad de backword con la versión 5.7, es posible que deba conectarse al servidor MySQL usando la cuenta con contraseña usando la opción mysql_native_password. Podemos cambiar el comportamiento predeterminado. de la cuenta seleccionada para usar la contraseña nativa usando los comandos como se muestra a continuación.

# 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 |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+

Así es como podemos instalar la versión más reciente del servidor MySQL, es decir, MySQL 8 en Ubuntu 18.04 LTS.