Cómo instalar MySQL en FreeBSD 12

Cómo instalar MySQL en FreeBSD 12

En esta entrada mostraremos cómo instalar MySQL en FreeBSD 12 paso a paso para disponer del motor de bases de datos de código abierto más popular del mundo. Al final de esta guía tendrás el servicio en funcionamiento, con tu propio usuario administrador y acceso remoto activado o desactivado, según tus preferencias.

Antes de instalar MySQL en FreeBSD 12

Si tu intención es seguir esta sencilla guía de instalación de MySQL en FreeBSD 12 deberías tener en cuenta que necesitas unos mínimos requisitos:

  • Una versión actualizada de FreeBSD 12.
  • Un usuario con permisos de sudo o el propio usuario root.
  • Conexión a Internet.

No hay muchas sorpresas aquí, es lo que cabe esperar a la hora de llevar a cabo una tarea de este tipo. Así que vamos a abrir un terminal de línea de comandos y empecemos el trabajo.

Cómo instalar MySQL en FreeBSD 12

Para instalar MySQL en FreeBSD 12 vamos a usar las versiones disponibles en el propio repositorio oficial de FreeBSD. Y hablo de versiones en plural porque fácilmente puedes comprobar que dispones de distintas posibilidades. Buscamos el paquete mysql-server con la opción search del comando pkg y esto es lo que obtenemos:

$ pkg search mysql |grep -i "(server)"
mysql55-server-5.5.62_2        Multithreaded SQL database (server)
mysql56-server-5.6.44          Multithreaded SQL database (server)
mysql57-server-5.7.26_1        Multithreaded SQL database (server)
mysql80-server-8.0.16          Multithreaded SQL database (server)

Por compatibilidad, en esta guía usaremos como ejemplo la versión más reciente de MySQL 5, pero el proceso es el mismo para cualquier otra versión o incluso MySQL 8.

Usaremos pkg para instalar el paquete de MySQL Server que nos interese (mysql57-server en este ejemplo):

$ sudo pkg install -y mysql57-server

Si te preguntas cómo instalar el cliente de MySQL en FreeBSD debes saber que el paquete mysql57-client es una dependencia del paquete del servidor, por lo que se instala automáticamente.

Notas sobre la instalación de MySQL en FreeBSD 12

Cosas que debes saber una vez que MySQL se instala en nuestro sistema FreeBSD 12:

  • Se crean el usuario y el grupo mysql con los que funciona el servicio.
  • Si estamos actualizando MySQL sobre una versión anterior, debemos ejecutar el script mysql_upgrade.
  • El nombre del servicio que usaremos para controlarlo a través del comando service es mysql-server.
  • MySQL Server no queda activado ni en funcionamiento tras su instalación.

De esto se desprende que necesitamos realizar algunas acciones manuales.

Cómo activar e iniciar el servicio MySQL en FreeBSD 12

La primera tarea a realizar es la activación de MySQL para que se inicie cada vez que arranque nuestro sistema FreeBSD. Para ello emplearemos la opción enable del comando service:

$ sudo service mysql-server enable
mysql enabled in /etc/rc.conf
$

Además del inicio automático, ya podemos usar las opciones normales de service (en lugar de sus equivalentes que comienzan por one cuando el servicio no está activado).

Y precisamente haremos uso de una de estas opciones para iniciar MySQL Server:

$ sudo service mysql-server start
Starting mysql.
$

Ya tenemos el servicio mysql-server en funcionamiento listo para aceptar conexiones, como podemos comprobar con la opción status de service:

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

Contraseña por defecto de root para MySQL en FreeBSD

Es muy importante saber que se crea una contraseña por defecto de root para MySQL en FreeBSD. Esta contraseña se guarda en /root/.mysql_secret tras el primer inicio del servicio mysql-server. Vistos los permisos de esta contraseña inicial, sólo root o usuarios con permisos de root pueden conocerla:

$ sudo cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2019-07-13 23:33:35
DcMYtTYl(ryT
$

No podremos trabajar con ninguna base de datos hasta que cambiemos esta contraseña inicial de MySQL. Tenemos dos formas de hacer esto, pero elijas el método que elijas anota la contraseña inicial, porque la necesitarás.

Cambiar la contraseña inicial mediante SQL

Este método consiste en iniciar sesión con el cliente mysql (instalado como dependencia de MySQL Server) identificándonos como root y proporcionando la contraseña inicial:

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

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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.

root@localhost [(none)]> alter user root@localhost identified by 'XXXXXXXX';
Query OK, 0 rows affected (0.01 sec)

root@localhost [(none)]> exit
Bye
$

Con una sola línea de SQL cambiamos limpia y sencillamente la contraseña para root.

Cambiar la contraseña inicial con mysql_secure_installation

Todas las instalaciones de MySQL en distintos sistemas operativos suelen disponer del script mysql_secure_installation que realiza importantes tareas de seguridad, entre otras cambiar la contraseña de root.

Aunque la instalación por defecto de MySQL en FreeBSD 12 no crea bases de datos de pruebas ni usuarios con acceso anónimo, es posible que, además de cambiar la contraseña inicial de root, queramos activar alguna característica más.

Ejecutamos el script a través de sudo:

$ sudo mysql_secure_installation

El script usará automáticamente la contraseña incial de root, por lo que no necesitamos anotarla, e iremos pasando por una serie de preguntas:

  • Activación del plugin de validación de contraseñas, para que sólo se puedan crear contraseñas fuertes.
  • Cambiar la contraseña de root. Aquí debemos contestar que sí para inmediatamente crear una nueva contraseña y confirmarla.
  • Eliminar usuarios anónimos. Por defecto no hay usuarios anónimos, pero por si acaso lo recomendado es contestar que sí.
  • Desactivar el acceso remoto como root. Por defecto ya viene desactivado, lo seguro es contestar que sí.
  • Borrar la base de datos de pruebas. No existe ninguna base de pruebas en la instalación por defecto, pero es conveniente contestar que sí.
  • Recargar la tabla de privilegios. Lo seguro es contestar que sí.

Terminado el script interactivo, ya podemos acceder con el cliente mysql identificándonos como root con la nueva crontraseña creada instantes antes.

Cómo crear un nuevo usuario administrador

Aparte de root podemos crear un nuevo usuario para administrar MySQL, pero sin eliminar la posibilidad de acceder remotamente si lo consideras oportuno.

Iniciamos sesión con root y creamos el nuevo usuario:

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

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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.

root@localhost [(none)]> create user chacho identified by 'XXXXXXXX';
Query OK, 0 rows affected (0.00 sec)

root@localhost [(none)]> grant all privileges on *.* to chacho with grant option;
Query OK, 0 rows affected (0.00 sec)

root@localhost [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

root@localhost [(none)]> exit
Bye
$

A partir de este momento podemos usar este nuevo usuario para crear y gestionar nuevas bases de datos y usuarios.

Acceso remoto a MySQL en FreeBSD 12

Para acceder remotamente al servidor MySQL en FreeBSD 12 debemos previamente permitir las conexiones externas, ya que la configuración por defecto sólo permite conexiones locales.

Podemos cambiarlo editando el archivo principal de configuración de MySQL Server en FreeBSD 12, que es /usr/local/etc/mysql/my.cnf:

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

Buscaremos la directiva bind_address, que se ecuentra en la sección mysqld de este archivo:

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

Tenemos dos opciones para modificar esta directiva. La primera pasa por cambiar el valor 127.0.0.1 para conexiones locales por el valor 0.0.0.0 que permite conexiones procedentes de cualquier lugar. La segunda opción es simplemente desactivar la directiva precediéndola con el carácter #:

#bind-address                    = 127.0.0.1

Guardados los cambios es necesario reiniciar el servicio para que tomen efecto:

$ sudo service mysql-server restart

Una vez reiniciado el servicio ya es posible conectar desde otra máquina con un cliente, ya sea gráfico o de consola, con nuestro nuevo usuario administrador.

Por ejemplo, en una máquina Windows creamos una nueva conexión en MySQL Workbench, proporcionando la dirección de nuestro servidor FreeBSD y usuario administrador:

instalar mysql en freebsd 12

Al probar la conexión se nos pide la contraseña de nuestro usuario:

acceso remoto a mysql en freebsd 12

 

Esto ya indica que existe conectividad, puesto que en caso de no estar permitido el acceso remoto obtendríamos un error de conexión como este:

permitir conexiones remotas de mysql en freebsd 12

Pero en este caso el acceso remoto está permitido y al introducir la contraseña y continuar obtenemos un mensaje de éxito de la prueba de conexión:

conexion remota mysql en freebsd 12

Esto significa que proporcionando los datos de conexión de forma conveniente a cualquier cliente de MySQL, ya sea gráfico, de consola, un conector, etc. las conexiones remotas son posibles.

Conclusión

Ya sabes instalar MySQL en FreeBSD 12, por lo que puedes desarrollar tus propios sistemas o configurar bases de datos y usuarios para las aplicaciones que lo requieran. FreeBSD 12 te ofrece varias versiones de MySQL donde elegir, por lo que puedes elegir la más conveniente para tus necesidades.

Puedes dejarme un comentario si tienes alguna duda, pregunta o sugerencia.

Apoya este sitio

¿Te ha parecido útil esta guía de MySQL en FreeBSD 12? ¿Te gustaría disponer de más guías como estas? Puedes ayudarnos a mantener este sitio en línea a través de una mínima donación. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando…

 

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