Primer paso: instalar MySQL server, para esto ejecutamos:
$ sudo apt-get install mysql-server
Posteriormente, para realizar la configuración de MySQL se puede ejecutar el comando:
Seguir los pasos que solicita el script para la configuración de MySQL Server
Segundo paso: necesitamos configurar las opciones para poder conectarnos de forma remota a la base de datos, para
esto editamos el archivo mysqld.cnf en las versiones más nuevas:
comentamos las siguiente línea:
y reiniciamos:
En las versiones más antiguas de Ubuntu Server, el archivo a editar es:
y comentamos la siguiente línea, de esta forma:
reiniciamos el servicio mysql ejecutando:
Sí no realizamos estos pasos, al querer ingresar a la base de datos de forma remota, aparecerá un mensaje como el siguiente:
Failed to Connect to MySQL at 192.168.0.xxx:3306 with user TU_USUARIO
Can't connect to MySQL server on '192.168.0.xxx' (111)
Tercer paso: ahora configuramos los usuarios permitidos para hacer gestión remota de la base de datos.
Lo mas probable es que ahora al intentar ingresar te aparezca un error como este:
Failed to Connect to MySQL at 192.168.0.xxx:3306 with user TU_USUARIO
Host 'miDispositivo' is not allowed to connect to this MySQL server
Entonces, en la terminal del servidor ejecutamos:
Necesitamos ingresar el password del usuario root para realizar esto. Ya una vez adentro de la consola de mysql, creamos un usuario para gestión y le damos permisos de la siguiente forma:
Es muy recomendable crear un usuario diferente de root para la administración de la base de datos, este usuario va a tener todos los permisos de un administrador.
De todas formas, si es necesario dar acceso a root desde cualquier IP, se debe ejecutar los siguientes comando:
$ mysql_secure_installation
Seguir los pasos que solicita el script para la configuración de MySQL Server
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
comentamos las siguiente línea:
# bind-address 127.0.0.1
y reiniciamos:
$ sudo systemctl restart mysql.service
En las versiones más antiguas de Ubuntu Server, el archivo a editar es:
$ sudo nano /etc/mysql/my.cnf
y comentamos la siguiente línea, de esta forma:
# bind-address 127.0.0.1
reiniciamos el servicio mysql ejecutando:
$ sudo /etc/init.d/mysql restart
Sí no realizamos estos pasos, al querer ingresar a la base de datos de forma remota, aparecerá un mensaje como el siguiente:
Failed to Connect to MySQL at 192.168.0.xxx:3306 with user TU_USUARIO
Can't connect to MySQL server on '192.168.0.xxx' (111)
Tercer paso: ahora configuramos los usuarios permitidos para hacer gestión remota de la base de datos.
Lo mas probable es que ahora al intentar ingresar te aparezca un error como este:
Failed to Connect to MySQL at 192.168.0.xxx:3306 with user TU_USUARIO
Host 'miDispositivo' is not allowed to connect to this MySQL server
Entonces, en la terminal del servidor ejecutamos:
$ mysql -u root -p
Necesitamos ingresar el password del usuario root para realizar esto. Ya una vez adentro de la consola de mysql, creamos un usuario para gestión y le damos permisos de la siguiente forma:
mysql> CREATE USER 'tuUsuario'@'localhost' IDENTIFIED BY 'tuPassword';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'tuUsuario'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'tuUsuario'@'%' IDENTIFIED BY 'tuPassword';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'tuUsuario'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
Es muy recomendable crear un usuario diferente de root para la administración de la base de datos, este usuario va a tener todos los permisos de un administrador.
De todas formas, si es necesario dar acceso a root desde cualquier IP, se debe ejecutar los siguientes comando:
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'tuPassword';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
Listo, con esto el servidor está listo para ser usado.