Domina la instalación de MySQL en tu servidor con nuestra guía paso a paso. Aprende cómo configurar y optimizar MySQL en tu entorno de FreeBSD. Descubre las mejores prácticas para asegurar un rendimiento óptimo y una gestión eficiente de tu base de datos.
Si eres un entusiasta de la administración de bases de datos o estás buscando una solución confiable y potente para almacenar y gestionar tus datos en tu servidor FreeBSD, estás en el lugar adecuado. En este artículo, te proporcionaremos una explicación detallada y paso a paso de cómo instalar MySQL 8 en tu sistema operativo FreeBSD, aprovechando al máximo todas sus características y beneficios.
MySQL es uno de los sistemas de gestión de bases de datos más populares y ampliamente utilizados en el mundo del desarrollo web y la administración de sistemas. Con su capacidad para manejar grandes volúmenes de datos de manera eficiente y su amplio conjunto de funciones, MySQL se ha convertido en una opción de confianza para empresas y desarrolladores de todo el mundo.
En esta guía, te acompañaremos en el proceso de instalación de MySQL 8 en tu servidor FreeBSD, teniendo en cuenta los aspectos importantes que debes considerar para garantizar una instalación exitosa. Te proporcionaremos instrucciones claras y sencillas, junto con consejos útiles y mejores prácticas para optimizar el rendimiento y la seguridad de tu base de datos.
Estamos emocionados de compartir contigo esta valiosa información que te ayudará a dar tus primeros pasos con MySQL 8 en FreeBSD. ¡Así que sin más preámbulos, comencemos con el fascinante mundo de MySQL y su instalación en tu sistema FreeBSD!
Nota: Antes de comenzar con la instalación, asegúrate de tener acceso de administrador en tu servidor FreeBSD y de contar con una conexión a Internet estable.
En este método, la colección de puertos debe instalarse primero si aún no están instalados. Por defecto, la colección de puertos se almacena como un subdirectorio de /usr/ports
. Ejecuta el siguiente comando para verificar si el directorio /usr/ports
existe:
$ ls /usr/ports
Si no tienes instalada la colección de puertos en tu sistema FreeBSD, puedes seguir estos pasos para instalarla:
1. Actualiza los archivos de índice de los puertos ejecutando el siguiente comando:
$ portsnap fetch
2. Una vez que la descarga esté completa, descomprime los archivos ejecutando el siguiente comando:
$ portsnap extract
3. Después de la extracción, actualiza los puertos a la última versión ejecutando el siguiente comando::
$ portsnap update
Una vez completados estos pasos, la colección de puertos estará instalada y podrás proceder con la instalación específica del port que necesites, como MySQL 8.0 en este caso. A continuación, verifica si los puertos del servidor y cliente de MySQL existen en la colección de puertos. Este comando buscará los directorios específicos /usr/ports/databases/mysql80-server
y /usr/ports/databases/mysql80-client
.
$ ls /usr/ports/databases | grep -E 'mysql(80-)?(server|client)'
Ten en cuenta que los números de versión utilizados en los nombres de los directorios (mysql80-server y mysql80-client) pueden variar según la versión específica de MySQL disponible en la colección de puertos.
...
/usr/ports/databases/mysql80-client:
Makefile pkg-message pkg-plist
/usr/ports/databases/mysql80-server:
Makefile distinfo files pkg-descr pkg-plist
Una vez que hayas instalado los ports necesarios, podrás proceder a instalar MySQL 8 en tu sistema.
Navega al subdirectorio de MySQL 8: Utiliza la línea de comandos para dirigirte al subdirectorio de MySQL 8 en los puertos previamente instalados. Una vez que estés en el directorio adecuado, ejecuta el comando "make install clean" para iniciar la instalación de MySQL 8. Este comando compilará y configurará los archivos necesarios para la instalación del servidor MySQL en tu sistema.
$ cd /usr/ports/databases/mysql80-server
$ make install clean
Durante la compilación y configuración, podrás ver en la salida del comando el progreso de la instalación. Verás mensajes relacionados con los archivos que se están instalando y los scripts que se están ejecutando. Asegúrate de revisar cualquier mensaje de advertencia o información importante que pueda aparecer.
Después de la compilación, aparecerá la siguiente salida en la terminal:
...
===> Creating homedir(s)
There is no initial password for first time use of MySQL.
Keep in mind to reset it to a secure password.
MySQL80 has a default /usr/local/etc/mysql/my.cnf,
remember to replace it with your own
or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/lib/mysql/libmysqlrouter_io_component.so.1
/usr/local/lib/mysql/mysqlrouter/http_server.so
/usr/local/lib/mysql/plugin/group_replication.so
/usr/local/libexec/mysqld
/usr/local/lib/mysql/libmysqlharness.so.1
If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type 'make deinstall'
to deinstall the port if this is a concern.
For more information, and contact details about the security
status of this software, see the following webpage:
https://www.mysql.com/
Nota: FreeBSD pkg incluye un mecanismo incorporado para detectar cualquier vulnerabilidad conocida en el software instalado en el sistema. Este mecanismo se llama "pkg audit" y te permite verificar si existen problemas de seguridad conocidos en los paquetes instalados.
Para utilizar pkg audit, simplemente ejecuta el siguiente comando en la terminal:
$ pkg audit -F
Fetching vuln.xml.xz: 100% 1 MiB 1.0MB/s 00:01
0 problem(s) in the installed packages found.
A continuación, ejecutarás el siguiente comando, el cual agregará el servicio de MySQL a /etc/rc.conf
$ sysrc mysql_enable=yes
Inicia el servicio de MySQL: En FreeBSD, puedes iniciar el servicio de MySQL ejecutando el siguiente comando:
$ service mysql-server start
Verifica el estado del servicio: Para comprobar que MySQL se esté ejecutando correctamente, puedes utilizar el siguiente comando:
$ service mysql-server status
mysql is running as pid 64569.
Una vez que se haya completado la instalación, es importante configurar la seguridad de tu servidor MySQL. Puedes ejecutar el comando "mysql_secure_installation" para iniciar el proceso de configuración de seguridad. Este script te guiará a través de varios pasos para mejorar la seguridad de tu instalación de MySQL, como establecer una contraseña segura para el usuario root, eliminar usuarios anónimos y restringir el acceso remoto, entre otras medidas.
$ mysql_secure_installation
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
El script te preguntará sobre la validación del componente de contraseña. Te pedirá que decidas si deseas aplicar la complejidad de las contraseñas. Escribe Y y presiona Enter para habilitarlo, o cualquier otra tecla para ignorarlo.
Si decides aceptar la Política de Validación de Contraseñas, se te pedirá que indiques el nivel de complejidad deseado. Elige el nivel y presiona Enter para continuar con la configuración.
...
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Ahora, establecerás la contraseña para el usuario root de MySQL. La contraseña debe contener una letra mayúscula, una letra minúscula, un número y un carácter especial.
...
Please set the password for root here.
New password:
Re-enter new password:
Deberás eliminar los usuarios anónimos, prohibir el inicio de sesión remoto como root, eliminar las bases de datos de prueba y recargar las tablas de privilegios para aplicar los cambios.
...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
MySQL 8 ha sido instalado y está en funcionamiento en FreeBSD.
Es esencial optimizar la configuración de MySQL para garantizar un rendimiento eficiente y evitar posibles ralentizaciones. Ignorar esta tarea podría desencadenar una disminución significativa en el desempeño del sistema y afectar adversamente la experiencia del usuario.
Podemos editar el archivo principal de configuración de MySQL Server en FreeBSD, que es /usr/local/etc/mysql/my.cnf
:
#basado en innodb
innodb_buffer_pool_size = 1G # establecer al 50% de la RAM (considerando 2 GB de RAM)
innodb_log_file_size = 256M # ajustar a un cuarto del tamaño del buffer pool
innodb_log_buffer_size = 32M # adaptar para transacciones de tamaño moderado
innodb_flush_log_at_trx_commit = 0 # aumentará la velocidad de escritura, pero haga copias de seguridad/replicación para garantizar la fiabilidad
innodb_flush_method = O_DIRECT # evitar el doble almacenamiento en caché al escribir en disco
#basado en myisam
key_buffer_size = 512M # ajustar según el tamaño de los índices MyISAM
myisam_sort_buffer_size = 64M # asignar memoria para operaciones de clasificación MyISAM
read_buffer_size = 8M # tamaño del búfer de lectura para MyISAM
write_buffer_size = 8M # tamaño del búfer de escritura para MyISAM
#ajustes adicionales
max_connections = 100 # número máximo de conexiones simultáneas permitidas
query_cache_size = 64M # tamaño del caché de consultas para optimizar consultas repetitivas
tmp_table_size = 64M # tamaño máximo para tablas temporales en memoria
max_heap_table_size = 64M # tamaño máximo para tablas temporales en memoria creadas por el optimizador
thread_cache_size = 4 # número de hilos en la caché para manejar conexiones
Para verificar la instalación, puedes iniciar sesión como root y verificar la versión de la base de datos utilizando el siguiente comando:
$ mysqladmin -u root -p version
Enter password:
mysqladmin Ver 8.0.32 for FreeBSD12.4 on amd64 (Source distribution)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.32
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 19 hours 26 min 14 sec
Threads: 2 Questions: 18 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.000
¡Felicitaciones! Has instalado y configurado correctamente MySQL 8 en tu sistema FreeBSD.
No dudes en explorar la documentación oficial de MySQL para obtener más información sobre cómo utilizar y administrar MySQL en tu entorno de desarrollo.
Reciba notificaciones sobre las últimas publicaciones del blog.
Lista de comentarios
Atención!
Nota: Si no ve comentarios, consulte a su administrador, que es posible que haya deshabilitado los comentarios.