Header Ads

MySQL vs MariaDB: Instalación Desatendida

Muchos creen que MySQL y MariaDB son lo mismo. No nos adentraremos en este debate. Un buen artículo sobre este tema lo podemos encontrar en MariaDB vs MySQL, un Resumen sobre las Tecnologías de Base de Datos, pero consideramos que al menos en el método de instalación desatendida por consola, las diferencias son "notables". 
La principal diferencia que encontramos es que MySQL permite el modo de instalación inseguro y MaríaDB no. Referente a este punto, el portal oficial de MySQL afirma lo siguiente:
mysql_install_db is deprecated as of MySQL 5.7.6 because its functionality has been integrated into mysqld, the MySQL server. To initialize a MySQL installation, invoke mysqld with the --initialize or --initialize-insecure option. For more information, see Section 2.10.1, “Initializing the Data Directory”. mysql_install_db will be removed in a future MySQL release
Y el portal oficial de MariaDB afirma lo siguiente:
For MariaDB 5.2.6 and later, for any serious purpose, use mysql_install_db.exe to create database instances - it is more secure (disables anonymous user by default, allows setting root password during database creation), and more convenient (can create Windows service, supports user-specified data directory).
Note : Starting with MariaDB 10.4.3, a pre-built data directory is no longer provided, and users need to run mysql_install_db.exe to create a data directory.
En la práctica, lo anterior significa que  mysql_install_db aparece en el directorio \bin de MariaDB, pero no en el directorio \bin en MySQL, ya que "está integrado a mysqld". Entonces, para no dilatar la cosa con explicaciones muy técnicas, el resultado es que los siguientes comandos son válidos para MySQL pero no funcionarían en MariaDB:
--initialize-insecure
--install
La ventaja del "modo inseguro" en MySQL es que al concluir la instalación podemos iniciar MySQL, ingresar a la cuenta root "sin contraseña" y asignarle una, en cambio en el "modo seguro", la instalación asigna una "contraseña aleatoria" a root que luego debemos averiguar cuál es para poder ingresar por primera vez, y que en algunas versiones podemos encontrarla en el archivo mysqld.log (o podemos hacer reset del password), y es un poco complicado asignarle una contraseña durante la instalación por consola (puede usar mysql_secure_installation). En cambio, en MariaDB si bien ya no permite el "modo inseguro", es sencillo asignarle una contraseña a root durante la instalación.
A continuación los comandos de una instalación desatendida.
Ejemplo para MySQL 5.7.29 (zip) en modo inseguro:
%HOMEDRIVE%\mysql\mysql-5.7.29-winx64\bin\mysqld.exe --initialize-insecure
%HOMEDRIVE%\mysql\mysql-5.7.29-winx64\bin\mysqld.exe --install
Para MariaBD (.zip) en modo seguro:
%HOMEDRIVE%\mariadb\mariadb-10.4.12-win32\bin\mysql_install_db.exe --datadir=%HOMEDRIVE%\mariadb\mariadb-10.4.12-win32\data --service=MySQL --password=secret

Imagen cortesía de Kinsta
Con la tecnología de Blogger.