Cómo instalar MySQL en FreeBSD 13

En esta ocasión vamos a explicar cómo instalar MySQL Server en FreeBSD 13 paso a paso, de tal manera que puedas trabajar con bases de datos relacionales sobre tu servidor o VPS FreeBSD gracias al motor más usado en todo el mundo.

Antes de instalar MySQL en FreeBSD 13

Para poder seguir los pasos de esta guía de instalación de MySQL Server en FreeBSD 13 sólo necesitas partir del siguiente escenario:

  • Un sistema FreeBSD 13 actualizado.
  • Acceso a consola con un usuario con privilegios de sudo.
  • Conexión a Internet.

Es prácticamente seguro que ya cumples estos requisitos, así que puedes ir regulando la altura correcta de tu mesa y abriendo tu terminal de comandos favorita.

Cómo instalar MySQL en FreeBSD 13

Vamos a instalar MySQL Server en FreeBSD 13 utilizando paquetes procedentes de los repositorios del sistema, por lo que la primera acción a realizar es actualizar la información de los mismos:

~$ sudo pkg update

En FreeBSD 13 actualmente disponemos de las siguientes versiones de MySQL Server:

  • MySQL 5.5, MySQL 5.6 y MySQL 5.7
  • MySQL 8.0

Puedes averiguar el nombre de los paquetes para cada versión realizando una búsqueda filtrada con pkg:

~$ sudo pkg search ^mysql |grep -i server
...
mysql55-server-5.5.62_3        Multithreaded SQL database (server)
mysql56-server-5.6.51          Multithreaded SQL database (server)
mysql57-server-5.7.35          Multithreaded SQL database (server)
mysql80-server-8.0.26          Multithreaded SQL database (server)
...

En este tutorial instalaremos MySQL 8.0, así que el paquete que necesitamos es mysql80-server:

~$ sudo pkg install -y mysql80-server

Tras la instalación de este paquete y sus dependencias se crea un nuevo servicio en FreeBSD 13 llamado mysql-server. Este servicio, como es habitual en FreeBSD 13, no queda en ejecución ni activado para su inicio automático, así que lo activamos:

~$ sudo service mysql-server enable

Y lo iniciamos manualmente por vez primera para no tener que reiniciar el sistema:

~$ sudo service mysql-server start

Podemos comprobar que MySQL Server efectivamente se encuentra corriendo en segundo plano consultando el estado del servicio:

~$ sudo service mysql-server status
mysql is running as pid 2400.

como instalar mysql server en freebsd 13

Como prueba de funcionamiento, se mostrará el PID asignado al demonio de MySQL Server.

Para aplicar cambios de configuración podremos reiniciar el servicio:

~$ sudo service mysql-server restart

Y para detenerlo por cualquier causa usaremos la opción stop del comando service:

~$ sudo service mysql-server stop

Finalmente, si no nos interesa que MySQL Server inicie automáticamente con cada arranque de FreeBSD 13, podemos desactivar el servicio:

~$ sudo service mysql-server disable

Cómo acceder a MySQL Server en FreeBSD 13

Para conectar a MySQL Server en FreeBSD 13 con un cliente de consola como mysql (incluido como dependencia) inicialmente contamos con el usuario administrador root, que no tiene contraseña:

~$ mysql -u root

mysql server 8.0 en freebsd 13

Que el superusuario de MySQL no tenga contraseña no es muy tranquilizante, así que si deseas protegerlo, la primera acción será crear una contraseña:

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

Conviene refrescar la tabla de permisos siempre que se crean o modifican usuarios:

> flush privileges;

Podemos cerrar la sesión:

> exit

Ahora si intentas acceder de nuevo repitiendo el comando anterior obtendrás un error:

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

Será necesario añadir el parámetro -p para que se solicite la contraseña:

~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
>

Puedes aprovechar para crear un usuario administrador adicional (con tu nombre de usuario, por ejemplo) con capacidades de acceso remoto, ya que root por seguridad no las tiene. Empezamos creando el usuario:

> create user instalador identified by 'XXXXXXXX';

Y a continuación le damos permisos totales sobre bases de datos y usuarios:

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

Recuerda refrescar la tabla de permisos antes de cerrar la conexión.

Para conectar con el nuevo usuario indicaremos su nombre con el parámetro -u:

~$ mysql -u instalador -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
>

Cómo configurar MySQL en FreeBSD 13

A la hora de configurar MySQL en FreeBSD 13 debemos trabajar sobre sus archivos de configuración, ubicados en la ruta /usr/local/etc/mysql/, siendo my.cnf el archivo principal.

Cada vez que realicemos ajustes será necesario reiniciar el servicio para aplicarlos:

~$ sudo service mysql-server restart

Plugin de autenticación

MySQL 8.0 introdujo un sistema de contraseñas a través de su plugin caching_sha2_password, más robusto que el plugin mysql_native_password usado en versiones anteriores.

El plugin caching_sha2_password es el que MySQL 8.0 utiliza por defecto, como puedes comprobar fácilmente con los usuarios creados por el sistema y los que hayas creado tú mismo:

> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| instalador       | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+

Puede que uses MySQL 8.0 junto con aplicaciones de tu máquina FreeBSD 13 que necesitan el sistema anterior, así que tienes la opción de crear usuarios con el plugin antiguo:

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

O puedes cambiar el plugin de autenticación (especificando de nuevo la contraseña para codificarla adecuadamente) si lo creaste accidentalmente con el plugin no deseado:

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

Pero si la gran mayoría de usuarios que crees van a utilizar el plugin mysql_native_password seguramente te interesaría que el plugin por defecto fuera ese precisamente. Para ello editamos el archivo de configuración de MySQL 8.0:

~$ sudo nano /usr/local/etc/mysql/my.cnf

En la sección mysqld añadiremos la siguiente línea:

...
[mysqld]
...
default_authentication_plugin   = mysql_native_password
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service mysql-server restart

Si no especificas ningún plugin, el próximo usuario que crees usará el recién configurado plugin por defecto.

Acceso remoto

Por defecto MySQL 8.0 en FreeBSD 13 no acepta conexiones remotas o desde red, ya que sólo escucha peticiones locales. Si necesitas acceder desde otro sistema es necesario realizar un ajuste en el archivo my.cnf:

~$ sudo nano /usr/local/etc/mysql/my.cnf

Buscaremos la directiva bind-address:

...
bind-address                    = 127.0.0.1
...

Esta directiva es la responsable de que sólo se acepten conexiones procedentes desde la propia máquina, así que la desactivamos insertando un carácter # al inicio de línea:

...
#bind-address                    = 127.0.0.1
...

Guardamos y cerramos el archivo, y reiniciamos el servicio:

~$ sudo service mysql-server restart

Ahora ya podemos acceder desde otro sistema que cuente con un cliente como mysql, indicando la dirección de la máquina FreeBSD 13 en la que acabamos de instalar y configurar MySQL Server.

Por ejemplo, la máquina FreeBSD 13 sobre la que hemos preparado este tutorial es accesible en el subdominio freebsd13.local.lan, así que vamos a conectar desde otra máquina en red usando un cliente mysql, indicando dicha dirección y el usuario con permisos de acceso remoto que creamos en pasos anteriores:

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

como configurar mysql en freebsd 13

Se establecerá la conexión y podremos trabajar como si estuviésemos sentados frente a la máquina FreeBSD 13 remota.

Conclusión

Ahora que sabes cómo instalar y configurar MySQL Server en FreeBSD 13 ya puedes trabajar con bases de datos relacionales, tanto de desarrollo propio como para soporte de aplicaciones de terceros. Además, podrás trabajar tanto local como remotamente y con compatibilidad para sistemas actuales y no tan actuales.

¡Apoya comoinstalar.me!

Si ya puedes trabajar con bases de datos gracias a este tutorial y quieres agradecérnoslo, cualquier pequeña aportación contribuye mucho al mantenimiento de este sitio y al desarrollo de futuros tutoriales y guías.

Puedes ayudarnos dejando una propina a partir de 1 $ desde PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

¿Dudas, preguntas, sugerencias?

¿Te ha surgido alguna duda o pregunta mientras seguías el tutorial? ¿Tienes sugerencias, correcciones, etc.? En tal caso puedes dejar un comentario que, aunque los moderamos para evitar SPAM, se revisan a diario.

Valora esta entrada

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies