Cómo instalar MySQL Server en Fedora 35

En esta ocasión vamos a ver cómo instalar MySQL Server en Fedora 35, 34 y 33 paso a paso, de modo que puedas trabajar con el servidor de bases de datos más famoso en tu servidor o VPS Fedora, tanto para tus propios desarrollos como para base de multitud de aplicaciones.

Antes de instalar MySQL Server en Fedora 35/34/33

Para poder seguir esta pequeña guía de instalación de MySQL Server en Fedora 35, 34 y 33 todo lo que necesitarás es lo siguiente:

  • Una máquina Fedora 35, 34 ó 33 actualizada.
  • Un usuario con permisos de sudo o el mismo root.
  • Acceso a Internet.

Cómo instalar MySQL Server en Fedora 35/34/33

Vamos a instalar MySQL Server en Fedora 35, 34 y 33 desde los repositorios de la distribución, por lo que el paso inicial será actualizar las listas de paquetes disponibles:

~$ sudo yum update

El paquete que necesitamos es community-mysql-server que instalaremos con yum:

~$ sudo yum install -y community-mysql-server

Finalizada la descarga e instalación de MySQL Server y sus dependencias se crea un nuevo servicio en Fedora 35, 34 y 33, el servicio mysqld.service o mysqld si prefieres el nombre corto. Este servicio no queda en ejecución ni habilitado tras el proceso de instalación, por lo que tendremos que realizar estos pasos manualmente.

Para iniciar MySQL Server por vez primera en Fedora 35/34/33 usaremos el comando systemctl:

~$ sudo systemctl start mysqld

Podremos comprobar que el servicio queda en ejecución con el comando systemctl status mysqld:

como instalar y configurar mysql server en fedora 35, 34 y 33

Esta comprobación la podremos realizar en cualquier momento.

Para que MySQL Server esté siempre disponible y arranque automáticamente con cada inicio de Fedora 35, 34 y 33, debemos habilitar el servicio mysqld:

~$ sudo systemctl enable mysqld

Cómo instalar el cliente de MySQL en Fedora /35/34/33

Si lo que necesitas es instalar el cliente de MySQL en Fedora 34, 34 y 33 pero sin el servidor, entonces el paquete que buscas es community-mysql:

~$ sudo yum install -y community-mysql

Dispondremos del cliente de consola mysql, con el que podremos conectar remotamente a los servicios MySQL deseados.

Si has instalado MySQL Server no será necesario instalar el cliente, ya que forma parte de las dependencias.

Cómo configurar MySQL Server en Fedora /35/34/33

A la hora de configurar MySQL Server en Fedora 35, 34 y 33 hay que tener en cuenta que su archivo de configuración principal my.cnf se encuentra en la ruta /etc/, aunque realmente este archivo se limita a cargar las configuraciones de los archivos organizados bajo la ruta /etc/my.cnf.d/.

Configurar el usuario root de MySQL

Por defecto el usuario root de MySQL en Fedora 35, 34 y 33 no tiene contraseña, por lo que cualquier usuario lo podrá utilizar para acceder con el cliente de consola mysql:

~$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 Source distribution
...
mysql>

Tenemos varias opciones para cambiar esta situación.

Crear una contraseña manteniendo el plugin por defecto

Podemos crear una contraseña, teniendo en cuenta que el plugin que usa por defecto root es caching_sha2_password, un plugin que puede no ser compatible con ciertos clientes o conectores. Crear la contraseña sería tan fácil como lanzar el siguiente comando:

> alter user root@localhost identified by 'XXXXXXXX';

Sería conveniente refrescar la tabla de permisos:

> flush privileges;

Y cerramos la sesión:

> exit

A partir de este momento ya no será posible acceder sin contraseña:

~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Habrá que indicar que se quiere realizar la autenticación con contraseña:

 ~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.27 Source distribution
...

mysql>

Cambiar de plugin con contraseña

Si queremos crear una contraseña pero queremos posibilitar la autenticación con clientes y conectores que no soportan el plugin caching_sha2_password, podemos cambiar al plugin más compatible mysql_native_password creando a la vez la nueva contraseña:

> alter user root@localhost identified with mysql_native_password by 'XXXXXXXX';

Es conveniente refrescar la tabla de permisos. El acceso se realizará del mismo modo que en el caso anterior, indicando solicitud de contraseña.

Cambiar de plugin sin contraseña

Si nos resulta cómodo trabajar sin contraseña y sólo usaremos root para acceso local desde consola, pero no queremos que cualquier usuario pueda acceder como administrador, podemos cambiar al plugin auth_socket, que permite conectar sin contraseña solamente como usuario root o a través de sudo. Sin embargo, este plugin no se carga por defecto, así que será necesario configurar MySQL Server editando el archivo community-mysql-server.cnf:

~$ sudo nano /etc/my.cnf.d/community-mysql-server.cnf

Añadimos la siguiente directiva plugin-load-add en la sección mysqld:

...
[mysqld]
...
plugin-load-add=auth_socket.so
...

Una vez guardados los cambios será necesario reiniciar el servicio mysqld:

~$ sudo systemctl restart mysqld

Iniciada la sesión con el cliente mysql, ya podremos realizar el cambio de plugin:

> alter user root@localhost identified with auth_socket;

Como en los casos anteriores, se aconseja refrescar la tabla de permisos.

A partir de este momento no será necesario utilizar contraseña para iniciar sesión, ya que sólo se podrá acceder como usuario root de Fedora 35, 34 y 33:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.27 Source distribution
...

mysql>

O como usuario con privilegios de sudo:

~$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.27 Source distribution
...

mysql>

Plugin de autenticación por defecto

Hemos visto anteriormente que MySQL Server en Fedora 35, 34 y 33 tiene configurado por defecto el plugin de autenticación caching_sha2_password, que es más seguro pero es incompatible con clientes y conectores más antiguos o de terceros, como la extensión para conectar desde PHP.

Puedes solventar este problema creando los usuarios que necesiten el sistema de autenticación tradicional con el plugin de autenticación mysql_native_password:

> create user usuario@localhost identified with mysql_native_password by 'XXXXXXXX';

Pero si básicamente los usuarios que vas a crear usarán en su mayoría este plugin puede ser buena idea configurarlo como plugin de autenticación por defecto. Para ello editaremos el archivo community-mysql-server.cnf:

~$ sudo nano /etc/my.cnf.d/community-mysql-server.cnf

Y añadimos una directiva default-authentication-plugin en la sección mysqld:

...
[mysqld]
...
default-authentication-plugin=mysql_native_password
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mysqld

A partir de este momento, cualquier nuevo usuario que se cree sin especificar contraseña lo hará con el plugin por defecto, mysql_native_password:

> create user usuario@localhost identified by 'XXXXXXXX';

Si alguna vez necesitas un usuario con autenticación caching_sha2_password, habrá que indicar este plugin durante su creación:

> create user usuario@localhost identified with caching_sha2_password by 'XXXXXXXX';

Crear un usuario administrador

Es buena idea que el usuario root de MySQL no pueda conectar remotamente, para evitar ataques al servicio, pero sí sería útil disponer de un usuario administrador con posibilidades de acceso remoto, que crearíamos del siguiente modo:

> create user instalador identified with mysql_native_password by 'XXXXXXXX';

La elección del plugin dependerá de los conectores y clientes que se prevea usar. Una vez creado este usuario le daremos privilegios suficientes para administrar y crear bases y usuarios:

> grant all privileges on *.* to instalador with grant option;

Y refrescamos la tabla de permisos antes de finalizar la conexión:

> flush privileges;

Acceso remoto a MySQL Server en Fedora 35/34/33

Por defecto el acceso remoto al servicio MySQL Server en Fedora 35, 34 y 33 se encuentra activado. Si sólo deseamos que el servicio atienda peticiones locales es buena idea desactivar el acceso remoto en la configuración de MySQL, para lo que editamos el archivo community-mysql-server.cnf:

~$ sudo nano /etc/my.cnf.d/community-mysql-server.cnf

Bastará con añadir una directiva bind-address en la sección mysqld:

...
[mysqld]
...
bind-address=127.0.0.1
...

Guardados los cambios, reiniciamos el servicio:

~$ sudo systemctl restart mysqld

Pero si hemos decidido mantener el acceso remoto habrá que configurar el firewall.

Cómo configurar el firewall de Fedora 35, 34 y 33 para MySQL Server

Tendremos que añadir una excepción al firewall que permita las conexiones entrantes al servidor MySQL de Fedora 35, 34 y 33:

~$ sudo firewall-cmd --permanent --add-service=mysql

Hay que recargar la configuración del firewall para aplicar los cambios:

~$ sudo firewall-cmd --reload

Cómo acceder remotamente a MySQL Server en Fedora 35/34/33

Para acceder de forma remota al servicio MySQL Server en Fedora 35, 34 y 33 usaremos algún cliente que sea capaz de trabajar con el plugin de autenticación del usuario que emplearemos para la conexión.

En este caso utilizaremos el cliente de consola mysql desde otra máquina en red, utilizando además de los parámetros de usuario y contraseña el parámetro -h para indicar la dirección del servidor Fedora 35, 34 y 33.

Por ejemplo, la máquina Fedora 35 sobre la que hemos realizado este artículo es accesible en el subdominio fedora.local.lan, así que conectaremos desde otra máquina Linux con el cliente de consola mysql de la siguiente forma:

~$ mysql -h fedora.local.lan -u instalador -p

instalar y configurar mysql server en fedora 33 y 32

Conclusión

Ahora que sabes cómo instalar y configurar MySQL Server en Fedora 35, 34 y 33 tienes la herramienta perfecta para desarrollar potentes bases de datos o simplemente instalar esas aplicaciones que requieren este tipo de motor de bases de datos para su funcionamiento.

Si tienes alguna duda o pregunta, sugerencia de mejora, crees que hay que actualizar este artículo, quieres notificar algún error, etc. puedes dejar un comentario y lo revisaremos lo antes posible. Por cierto, el filtro antiSPAM no deja pasar una, así que es inútil intentarlo.

¡Apoya comoinstalar.me!

¿Ya puedes empezar a trabajar con bases de datos en tu propio sistema gracias a nuestra pequeña guía de instalación y configuración? Si es así y te apetece agradecérnoslo contribuyendo al mantenimiento de este sitio y la creación de más tutoriales y guías, puedes hacerlo dejando 1 $ de propina desde PayPal:

O, si te sientes especialmente agradecido, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

1 comentario en «Cómo instalar MySQL Server en Fedora 35»

Deja un comentario