En esta guía, aprenderá cómo instalar MySQL en Ubuntu Linux y luego cómo configurar MySQL root
contraseña de usuario y, finalmente, cómo acceder al servidor MySQL como root
usuario.
Todos los pasos que se indican a continuación se prueban en una edición de servidor Ubuntu 20.04 LTS recién instalada.
Requisitos
Antes de instalar MySQL, asegúrese de que su sistema Ubuntu esté actualizado con los últimos paquetes:
$ sudo apt update
$ sudo apt upgrade
Una vez que todas las actualizaciones estén instaladas, reinicie su sistema:
$ sudo reboot
1. Instalar MySQL en Ubuntu Linux
MySQL está disponible en los repositorios predeterminados de Ubuntu Linux. Para instalar MySQL en Ubuntu Linux, ejecute:
$ sudo apt install mysql-server
Este comando instala todos los componentes necesarios para configurar un servidor de base de datos MySQL en Ubuntu.
Para comprobar la versión de MySQL, ejecute:
$ mysql --version
O usa mayúscula V
:
$ mysql -V
Salida de muestra:
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
1.1. Iniciar, reiniciar y detener el servicio MySQL
En Ubuntu, el servicio MySQL se inicia automáticamente una vez que se instala el servidor MySQL. Para verificar si el servicio MySQL está iniciado o no, ejecute:
$ sudo systemctl status mysql
Salida de muestra:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago Main PID: 1520 (mysqld) Status: "Server is operational" Tasks: 37 (limit: 2280) Memory: 332.8M CGroup: /system.slice/mysql.service └─1520 /usr/sbin/mysqld May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
Como puede ver, el servicio MySQL está cargado y funcionando. Si no se inicia por algún motivo, puede iniciar el servicio MySQL usando el comando:
$ sudo systemctl start mysql
Para permitir que MySQL se inicie automáticamente en cada reinicio, ejecute:
$ sudo systemctl enable mysql
Para reiniciar el servicio MySQL, ejecute:
$ sudo systemctl restart mysql
2. Establecer contraseña de usuario root de MySQL
De forma predeterminada, la contraseña raíz de MySQL está en blanco, lo que no se recomienda en producción. Debe establecer un usuario administrativo de base de datos fuerte y único, es decir, una contraseña de usuario root. MySQL se envía con un script llamado mysql_secure_installation
para eliminar la configuración predeterminada insegura y proteger el servidor de la base de datos.
La mysql_secure_installation
script hará lo siguiente:
- Configurar
VALIDATE PASSWORD COMPONENT
, - Si
VALIDATE PASSWORD COMPONENT
está habilitado, configure supassword validation
preferida política, - Eliminar usuarios anónimos,
- No permitir
root
inicio de sesión de usuario de forma remota, - Eliminar la base de datos de prueba y eliminar los privilegios en la base de datos de prueba,
- Finalmente, vuelva a cargar las tablas de privilegios.
Ahora ejecutemos este script:
$ sudo mysql_secure_installation
Cuando ejecute este comando por primera vez después de la instalación de MySQL, se conectará a MySQL con una contraseña en blanco. Luego, se le preguntará si desea configurar VALIDATE PASSWORD PLUGIN
.
El VALIDATE PASSWORD PLUGIN
se utiliza para probar contraseñas y mejorar la seguridad. Comprueba la seguridad de la contraseña y permite a los usuarios establecer solo aquellas contraseñas que son lo suficientemente seguras. La configuración del COMPONENTE VALIDAR CONTRASEÑA es opcional. Es seguro dejarlo deshabilitado . Sin embargo, le recomiendo que use contraseñas seguras y únicas al crear roles de usuario. Si no desea habilitar VALIDATE PASSWORD PLUGIN
, simplemente presione cualquier tecla para omitir la parte de validación de contraseña y continuar con el resto de los pasos.
Quiero usar este VALIDATE PASSWORD PLUGIN
, así que ingresé y para sí:
Securing the MySQL server deployment. Connecting to MySQL using a blank password. 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
Si elige sí , se le pedirá que elija un nivel de política de contraseñas. Hay tres políticas de validación de contraseña disponibles. Son BAJOS , MEDIA y FUERTE . Cada política de contraseñas contiene un conjunto de reglas de contraseñas que debe usar al crear nuevos roles de base de datos. Por ejemplo, si elige MEDIUM, la contraseña debe contener al menos 8 caracteres, incluido un número, letras minúsculas y mayúsculas, y un carácter especial. Elija cualquier política de contraseña que más le convenga.
Voy con la política de contraseña de nivel BAJO, así que elijo 0 (cero):
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:
A continuación, introduzca la contraseña de usuario root de MySQL dos veces. Después de ingresar la contraseña, se mostrará el puntaje de seguridad de la contraseña. En mi caso, obtuve 100. Si la seguridad de la contraseña está bien para usted, presione y
para continuar con la contraseña dada. De lo contrario, escriba otra contraseña segura y luego presione Y
continuar.
Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
No confunda esto con la root
de su sistema. cuenta. Es una cuenta administrativa para nuestro servidor de base de datos.
A continuación, presione y
y presione ENTER para aceptar los valores predeterminados para todas las preguntas posteriores. Esto eliminará al usuario anónimo, no permitirá el inicio de sesión raíz de forma remota y eliminará las bases de datos de prueba.
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!
Hemos establecido la contraseña de usuario raíz de MySQL.
¿Olvidaste tu contraseña de root de MySQL? ¡No hay problema! Puede restablecer fácilmente la contraseña de root en MySQL como se describe en los siguientes enlaces:
- Cómo restablecer la contraseña raíz en MySQL 8 en Ubuntu Linux
- Cómo restablecer la contraseña de usuario raíz de MySQL en Linux
3. Iniciar sesión en MySQL
Para iniciar sesión en el servidor MySQL como root
usuario, simplemente ejecute:
$ sudo mysql
Ingrese su contraseña de usuario para acceder al indicador de MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. 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>
Comience a crear los roles de usuario y las bases de datos para sus proyectos. Lo cubriremos en una guía separada pronto.
Para ver la help
sección, escriba help
o \h
y presiona ENTER
clave:
mysql> help
Para salir del indicador de MySQL y volver a su Terminal, ejecute:
mysql> exit
4. Cambiar el método de autenticación para el usuario root de MySQL
¿Se dio cuenta de que inicié sesión en el servidor MySQL sin proporcionar la contraseña del usuario root de MySQL? Simplemente ingresé la contraseña de mi cuenta de usuario del sistema, pero no la contraseña del usuario root de MySQL. Esto se debe a que el usuario root de MySQL usa auth_socket
complemento para autenticarse con el servidor MySQL en sistemas Ubuntu que ejecutan MySQL 5.7 y versiones posteriores.
El auth_socket
El complemento autentica a los clientes que se conectan al servidor MySQL desde el host local a través del archivo de socket de Unix. Entonces no puede autenticarse en el servidor MySQL como root
usuario proporcionando una contraseña.
Si desea utilizar la autenticación de contraseña para el usuario raíz de MySQL, debe volver a configurar el servidor MySQL para utilizar un método de autenticación diferente, como se describe en el siguiente artículo.
>> Change Authentication Method For MySQL Root User In Ubuntu
Conclusión
En esta guía, aprendimos a instalar MySQL en el sistema operativo Ubuntu Linux. También aprendimos cómo configurar la contraseña de usuario root de MySQL y cómo acceder o conectarse al servidor MySQL como root
usuario.