¿Qué vamos a aprender en esta guía?
En esta guía aprenderemos cómo instalar MySQL Server en Ubuntu Desktop 18.04, la última versión disponible hasta la fecha. Además, instalaremos una interfaz gráfica muy elegante y que nos facilitará mucho trabajar con nuestra Base de Datos, MySQL Workbench.
Anteriormente he publicado otras guías que también incluyen pasos para instalar MySQL y es verdad que varios de los pasos e indicaciones se repiten en esta guía. Sin embargo, esta guía viene muy bien si queremos hacer pruebas en otra máquina antes de realizarlas en un servidor de verdad, pues instalaremos MySQL Server y así prepararemos un entorno de pruebas donde experimentar y hacer todos los cambios que queramos antes de llevarlos al servidor final.
De todas formas, algunos pasos e indicaciones de otras guías también son compatibles con esta. Eso sí, si queréis probar algo nuevo, recomiendo utilizar máquinas virtuales en lugar de máquinas reales.
Requisitos
En esta guía usamos una máquina con Ubuntu Desktop 18.04 a modo de referencia, pero también podemos usar versiones más recientes o un sistema operativo con kernel Linux.
Paso 1: Descargar el paquete de instalación
Por defecto, los repositorios oficiales de Ubuntu incluyen la versión 5.7 de MySQL. Sin embargo, en nuestro caso pretendemos instalar una versión más moderna, así que tendremos que descargar nosotros mismos el paquete de instalación. Para ello nos vamos a esta dirección, elegimos Ubuntu Linux bajo el seleccionable "Select Operating System" y elegimos la última versión disponible en el desplegable de abajo, tras lo que aparecerá una lista de opciones descargables. Debemos elegir la opción para sistemas x86, 64-bit, DEB Package MySQL Server. En la siguiente pantalla, hacemos click derecho en el siguiente enlace: "No thanks, just start my download.". Ahora copiamos la dirección del enlace de descarga, por ejemplo:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.17-1ubuntu18.04_amd64.deb
Abrimos una terminal y utilizamos el siguiente código, detrás del wget introduciremos el enlace que acabamos de copiar:
Importamos el paquete de instalación .deb para mysql-server:
Actualizamos los repositorios de Ubuntu e instalamos mysql-server:
Finalmente, nos conectamos a la BD con el usuario root:
Paso 5: Instalación de MySQL Workbench
Ahora vamos a instalar una interfaz gráfica que nos permitirá gestionar la BD de forma cómoda y muy sencilla, esta interfaz se llama MySQL Workbench. Para ello utilizaremos el siguiente código para actualizar los repositorios y actualizar el sistema:
Gracias al paso anterior hemos podido instalar MySQL Workbench, pero la versión que se nos instala en los repositorios oficiales es vieja, así que tenemos que actualizar el programa. Para ello, abrimos MySQL Workbench, bien buscando el nombre del programa, o bien mediante el siguiente comando en la terminal:
Anexo A: Comprobar versiones de MySQL instaladas
Existen varias versiones posibles de MySQL y podemos tener más de una instalada a la vez. En sí, la máquina utilizará sólo una por defecto, así que alguna vez querremos saber cuáles tenemos instaladas y cuál de ellas es la que se está utilizando. Para comprobar qué versiones tenemos instaladas de MySQL, debemos utilizar este comando:
Tras instalar cualquier versión moderna de MySQL en Ubuntu, notaremos que no nos será posible iniciar sesión en MySQL Workbench. Esto se debe a que MySQL incluye una medida de protección para el usuario root en los sistemas Linux, la cual nos obliga a conectarnos siempre desde la terminal de Ubuntu a la BD. Si te ha ocurrido este problema, es recomendable que crees un usuario nuevo para gestionar la BD, de esta forma podremos trabajar cómodamente y mantendremos activa esta medida de seguridad para el usuario root.
Para crear el usuario nuevo, primero nos conectaremos a la consola con el usuario root, para ello usamos la siguiente línea de código en la terminal:
Alternativamente, si queremos conectarnos desde MySQL Workbench con el usuario root, entonces desactivaremos la protección. Para ello, nos conectaremos desde la terminal con el usuario root y habilitaremos la conexión por contraseña. Después, refrescaremos los privilegios:
Anexo C: Contraseñas seguras y problemas con contraseñas cortas
MySQL está configurado por defecto para impedir el uso de contraseñas con caracteres cortos, esto permite que las BD sean más seguras. Sin embargo, si sólo queremos hacer pruebas, esto puede resultarnos un tanto molesto. Por ello, si queréis hacer que MySQL acepte contraseñas cortas, seguid los siguientes pasos.
Entrad en la consola de MySQL como root y cambiad las siguientes variables con estas sentencias:
Anexo D: Problemas con conexiones remotas
Por defecto, MySQL está configurado para impedir que cualquier persona entre desde otra máquina que no sea aquella en la que está instalado el servidor. Si queremos permitir el acceso remoto, debemos editar el archivo de configuración de MySQL:
En esta guía aprenderemos cómo instalar MySQL Server en Ubuntu Desktop 18.04, la última versión disponible hasta la fecha. Además, instalaremos una interfaz gráfica muy elegante y que nos facilitará mucho trabajar con nuestra Base de Datos, MySQL Workbench.
Anteriormente he publicado otras guías que también incluyen pasos para instalar MySQL y es verdad que varios de los pasos e indicaciones se repiten en esta guía. Sin embargo, esta guía viene muy bien si queremos hacer pruebas en otra máquina antes de realizarlas en un servidor de verdad, pues instalaremos MySQL Server y así prepararemos un entorno de pruebas donde experimentar y hacer todos los cambios que queramos antes de llevarlos al servidor final.
De todas formas, algunos pasos e indicaciones de otras guías también son compatibles con esta. Eso sí, si queréis probar algo nuevo, recomiendo utilizar máquinas virtuales en lugar de máquinas reales.
Requisitos
En esta guía usamos una máquina con Ubuntu Desktop 18.04 a modo de referencia, pero también podemos usar versiones más recientes o un sistema operativo con kernel Linux.
Paso 1: Descargar el paquete de instalación
Por defecto, los repositorios oficiales de Ubuntu incluyen la versión 5.7 de MySQL. Sin embargo, en nuestro caso pretendemos instalar una versión más moderna, así que tendremos que descargar nosotros mismos el paquete de instalación. Para ello nos vamos a esta dirección, elegimos Ubuntu Linux bajo el seleccionable "Select Operating System" y elegimos la última versión disponible en el desplegable de abajo, tras lo que aparecerá una lista de opciones descargables. Debemos elegir la opción para sistemas x86, 64-bit, DEB Package MySQL Server. En la siguiente pantalla, hacemos click derecho en el siguiente enlace: "No thanks, just start my download.". Ahora copiamos la dirección del enlace de descarga, por ejemplo:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.17-1ubuntu18.04_amd64.deb
Abrimos una terminal y utilizamos el siguiente código, detrás del wget introduciremos el enlace que acabamos de copiar:
Paso 2: Importar el paquete de MySQL Server
Importamos el paquete de instalación .deb para mysql-server:
Paso 3: Actualizar e instalar MySQL Serversudo dpkg -i mysql-server_8.0.17-1ubuntu18.04_amd64.deb
Actualizamos los repositorios de Ubuntu e instalamos mysql-server:
Paso 4: Conectarse a la BDsudo apt-get update
sudo apt-get install mysql-server
Finalmente, nos conectamos a la BD con el usuario root:
Por defecto, la contraseña del usuario root es "root" (sin las comillas).sudo mysql -u root -p
Paso 5: Instalación de MySQL Workbench
Ahora vamos a instalar una interfaz gráfica que nos permitirá gestionar la BD de forma cómoda y muy sencilla, esta interfaz se llama MySQL Workbench. Para ello utilizaremos el siguiente código para actualizar los repositorios y actualizar el sistema:
Después, instalaremos la versión de MySQL Workbench que viene por defecto en los repositorios oficiales de Ubuntu:sudo apt update && sudo apt upgrade
Paso 6: Actualizar MySQL Workbenchsudo apt install mysql-workbench
Gracias al paso anterior hemos podido instalar MySQL Workbench, pero la versión que se nos instala en los repositorios oficiales es vieja, así que tenemos que actualizar el programa. Para ello, abrimos MySQL Workbench, bien buscando el nombre del programa, o bien mediante el siguiente comando en la terminal:
Una vez abierto, nos dirigimos hacia la zona superior de la ventana de MySQL Workbench, pulsamos en la pestaña Help > Check for updates, y luego descargamos la versión que nos corresponda (normalmente, la de 64 bits). Después hacemos doble click sobre el archivo descargado y esto hará que se instale la última versión de MySQL Workbench. Cuando termine el proceso, MySQL Workbench ya estará actualizado, así que debemos cerrarlo y volverlo a abrir.mysql-workbench
Anexo A: Comprobar versiones de MySQL instaladas
Existen varias versiones posibles de MySQL y podemos tener más de una instalada a la vez. En sí, la máquina utilizará sólo una por defecto, así que alguna vez querremos saber cuáles tenemos instaladas y cuál de ellas es la que se está utilizando. Para comprobar qué versiones tenemos instaladas de MySQL, debemos utilizar este comando:
Anexo B: Problemas de conectividad con usuario root en la BDapt policy mysql-server
Tras instalar cualquier versión moderna de MySQL en Ubuntu, notaremos que no nos será posible iniciar sesión en MySQL Workbench. Esto se debe a que MySQL incluye una medida de protección para el usuario root en los sistemas Linux, la cual nos obliga a conectarnos siempre desde la terminal de Ubuntu a la BD. Si te ha ocurrido este problema, es recomendable que crees un usuario nuevo para gestionar la BD, de esta forma podremos trabajar cómodamente y mantendremos activa esta medida de seguridad para el usuario root.
Para crear el usuario nuevo, primero nos conectaremos a la consola con el usuario root, para ello usamos la siguiente línea de código en la terminal:
A continuación, utilizaremos una sentencia para crear un usuario nuevo, le pondremos una contraseña y le concederemos permisos en las BD que deseemos. Por ejemplo:sudo mysql
Finalmente, nos iremos a MySQL Workbench y desde allí crearemos una nueva conexión.create user 'usuario' identified by '1234';
grant all privileges on *.* to 'usuario';
Alternativamente, si queremos conectarnos desde MySQL Workbench con el usuario root, entonces desactivaremos la protección. Para ello, nos conectaremos desde la terminal con el usuario root y habilitaremos la conexión por contraseña. Después, refrescaremos los privilegios:
Gracias a esto, hemos desactivado el modo de autentificación por socket de autentificación de Linux y hemos habilitado el inicio de sesión por contraseña, así que ahora podremos utilizar al usuario root en MySQL Workbench.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
Anexo C: Contraseñas seguras y problemas con contraseñas cortas
MySQL está configurado por defecto para impedir el uso de contraseñas con caracteres cortos, esto permite que las BD sean más seguras. Sin embargo, si sólo queremos hacer pruebas, esto puede resultarnos un tanto molesto. Por ello, si queréis hacer que MySQL acepte contraseñas cortas, seguid los siguientes pasos.
Entrad en la consola de MySQL como root y cambiad las siguientes variables con estas sentencias:
Si aún así seguís teniendo problemas, entonces podéis probar a desinstalar el plugin de validación de contraseña. Para ello, utilizad este código en la consola de MySQL:SET GLOBAL validate_password_length = 4;
SET GLOBAL validate_password_number_count = 0;
No es recomendable hacerlo, pues es una medida de seguridad de MySQL para mantener las buenas prácticas al elegir las contraseñas. Sin embargo, si somos responsables, en sí no será necesario y desinstalarlo puede salvarnos de un apuro.uninstall plugin validate_password;
Anexo D: Problemas con conexiones remotas
Por defecto, MySQL está configurado para impedir que cualquier persona entre desde otra máquina que no sea aquella en la que está instalado el servidor. Si queremos permitir el acceso remoto, debemos editar el archivo de configuración de MySQL:
Una vez ahí, debemos comentar la línea que empiece por "bind-address". Cuando lo hagamos, guardamos los cambios y reiniciamos el servicio de MySQL.sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf