Guía de instalación de MySQL

Disco duro componentes internos Fuente: Pexels

Esta guía explica cómo instalar el motor de bases de datos MySQL en diferentes sistemas operativos. MySQL es un motor de bases de datos relacional open source, actualmente desarrollado y distribuido por Oracle Corporation.

Instalación de MySQL en macOS con Homebrew

En sistemas macOS con Homebrew instalado, podemos utilizar el comando brew install:

$ brew install mysql

El comando brew services nos permitirá iniciar el motor de bases de datos:

$ brew services start mysql

MySQL está configurado por defecto para aceptar conexiones desde localhost, por lo que no es necesario dar una contraseña para iniciar sesión:

$ mysql -u root
mysql>

Instalación de MySQL en Debian o Ubuntu

Para realizar la instalación de MySQL en Debian o Ubuntu, descargamos el repositorio APT oficial:

$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb

Y lo instalamos en el sistema utilizando el comando apt install:

$ sudo apt install ./mysql-apt-config_0.8.9-1_all.deb

Nos aparecerá un dialogo con diferentes opciones para configurar los paquetes disponibles en el repositorio APT. Por el momento dejaremos las opciones por defecto:

MySQL opciones de configuración en Debian

Enseguida ejecutamos el comando apt-get update para actualizar la lista de repositorios:

$ sudo apt-get update

Para luego instalar MySQL, utilizando el comando apt-get:

$ sudo apt-get install mysql-community-server

El instalador nos pedirá una contraseña para el usuario root:

MySQL contraseña usuario root en Debian

Ahora iniciamos el motor utilizando el comando service:

$ sudo service mysql start

Para iniciar sesión, debemos hacerlo usando el usuario root y la contraseña que configuramos durante la instalación:

$ mysql -u root -p
Enter password:
mysql>

Instalación de MySQL en Fedora

Para realizar la instalación de MySQL en Fedora, descargamos el repositorio YUM oficial:

$ wget https://dev.mysql.com/get/mysql57-community-release-fc27-10.noarch.rpm

Y lo instalamos en el sistema utilizando el comando rpm:

$ sudo rpm -Uvh ./mysql57-community-release-fc27-10.noarch.rpm

Enseguida ejecutamos el comando dnf upgrade para actualizar la lista de repositorios e instalar actualizaciones disponibles:

$ sudo dnf upgrade

Luego instalamos el paquete MySQL utilizando el comando dnf install:

$ sudo dnf install mysql-community-server

Ahora iniciamos el motor utilizando service:

$ sudo service mysqld start

Cambiamos la contraseña del usuario root utilizando la contraseña temporal creada durante el proceso de instalación y guardada en el archivo /var/log/mysqld.log:

$ sudo grep 'temporary password' /var/log/mysqld.log
2018-03-08T20:52:33.093578Z 1 [Note] A temporary password is generated for root@localhost: hMGKK4Rrj,h!

$ mysqladmin -u root -p password 'New-password-7'
Enter password:

La contraseña debe tener al menos 1 carácter numérico, 1 carácter en minúscula, 1 carácter en mayúscula y 1 carácter especial no-alfanumérico.

Para iniciar sesión, debemos hacerlo usando el usuario root y la contraseña que acabamos de configurar:

$ mysql -u root -p
Enter password:
mysql>

Instalación de MySQL en CentOS

Debido a que CentOS viene con MariaDB pre-instalado, primero debemos remover el directorio de datos /var/lib/mysql para poder instalar MySQL. La forma más segura de hacerlo es cambiándole el nombre a dicho directorio:

$ sudo mv /var/lib/mysql /var/lib/mysql.bak

De esta forma no perderemos el directorio de datos de MariaDB si llegamos a necesitarlo en el futuro.

A continuación, descargamos el repositorio YUM para Red Hat Enterprise Linux 7:

$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

Y lo instalamos en el sistema utilizando el comando rpm:

$ sudo rpm -Uvh ./mysql57-community-release-el7-11.noarch.rpm

Enseguida ejecutamos el comando yum update para actualizar la lista de repositorios:

$ sudo yum update

Luego instalamos el paquete MySQL utilizando el comando dnf install:

$ sudo yum install mysql-community-server

Ahora iniciamos el motor utilizando el comando service:

$ sudo service mysqld start

Cambiamos la contraseña del usuario root utilizando la contraseña temporal creada durante el proceso de instalación y guardada en el archivo /var/log/mysqld.log:

$ sudo grep 'temporary password' /var/log/mysqld.log
2018-03-08T16:59:07.869944Z 1 [Note] A temporary password is generated for root@localhost: n*RQhO4pets5

$ mysqladmin -u root -p password 'New-password-7'
Enter password:

La contraseña debe tener al menos 1 carácter numérico, 1 carácter en minúscula, 1 carácter en mayúscula y 1 carácter especial no-alfanumérico.

Para acceder al motor, debemos hacerlo usando el usuario root y la contraseña que acabamos de configurar:

$ mysql -u root -p
Enter password:
mysql>

Instalación de MySQL en Archlinux

El paquete MySQL para Archlinux solamente se encuentra en el repositorio de paquetes no oficial llamado AUR (Archlinux User Repository). Debido a esto, el proceso de instalación de MySQL es un poco más tedioso que en las demás distribuciones Linux.

Lo primero que debemos hacer es descargar el tarball desde el repositorio AUR, utilizando el comando wget:

$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/mysql.tar.gz

Luego descomprimimos el tarball e ingresamos al directorio resultante:

$ tar -xvzf mysql.tar.gz
$ cd mysql

Ahora instalamos el grupo de paquetes base-devel, necesarios para compilar MySQL:

$ sudo pacman -S base-devel

Enseguida ejecutamos el comando makepkg para compilar el paquete:

$ makepkg -s

El proceso de compilación puede tardar varios minutos.

Finalmente, instalamos el paquete utilizando el comando pacman:

$ sudo pacman -U *xz

Teniendo MySQL ya instalado, configuramos el motor ejecutando el siguiente comando como super-usuario:

$ mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

La inicialización crea el usuario root con una contraseña temporal. La contraseña se muestra al final del log que aparece después de ejecutar el comando:

2018-03-08T00:48:33.916980Z 1 [Note] A temporary password is generated for root@localhost: >fBDs=UJk43<

Ahora iniciamos el motor utilizando el comando systemctl:

$ sudo systemctl start mysqld

Y a continuación cambiamos la contraseña del usuario root utilizando la contraseña temporal:

$ mysqladmin -u root -p password 'New-password-7'
Enter password:

La contraseña debe tener al menos 1 carácter numérico, 1 carácter en minúscula, 1 carácter en mayúscula y 1 carácter especial no-alfanumérico.

Para acceder al motor, debemos hacerlo usando el usuario root y la contraseña que acabamos de configurar:

$ mysql -u root -p
Enter password:
mysql>

Cómo elevar el nivel de seguridad de la instalación de MySQL

Es imprescindible elevar el nivel de seguridad de MySQL inmediatamente después de haber instalado el motor de bases de datos en un servidor de producción.

Afortunadamente MySQL proporciona el script mysql_secure_installation, que permite realizar esta importante tarea de una forma sencilla:

$ mysql_secure_installation

Este es un script interactivo que le permitirá:

  • Activar el plugin para validación de contraseñas
  • Cambiar la contraseña del usuario root
  • Borrar usuarios anónimos que pueden iniciar sesión sin necesidad de crear un usuario con contraseña
  • Prohibir que el usuario root pueda iniciar sesión desde una máquina remota
  • Remover la base de datos test que cualquier usuario puede usar

Este sitio web solo utiliza cookies para ocultar algunos formularios y avisos emergentes. No utilizamos cookies para analizar el uso del sitio web ni para mostrar anuncios.