Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

Servidor utilizado: Ubuntu Server 18.04

1- Actualizamos el ubuntu

sudo apt-get update
sudo apt-upgrade

2- Instalación de MySQL 5.7

sudo apt install mysql-server

Al ejecutar el comando nos saldrá todos los paquetes que se van a instalar.
Pulsamos «Y» y le damos al intro.

root@mysql-master:~# sudo apt install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libgdbm-compat4 libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libperl5.26 libtimedate-perl liburi-perl mysql-client-5.7
  mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 perl perl-modules-5.26
Suggested packages:
  libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make
The following NEW packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libgdbm-compat4 libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libperl5.26 libtimedate-perl liburi-perl mysql-client-5.7
  mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 perl perl-modules-5.26
0 upgraded, 25 newly installed, 0 to remove and 1 not upgraded.
Need to get 26.2 MB of archives.
After this operation, 198 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

3- Ejecutamos la instalación segura de MySQL.
Durante el proceso nos preguntará:
– Utilizar el «VALIDATE PASSWORD PLUGIN» que comprueba si la contraseña que hemos puesto al usuario es robusta. En mi caso no lo voy a activar.
– Nos preguntara la contraseña que deseamos para el usuario root. Lo tendremos que introducir 2 veces.
– Nos preguntara si deseamos eliminar el usuario anonymous. Es aconsejable eliminarlo. En mi caso marcaré «Y» para eliminarlo.
– Nos preguntará si deseamos desabilitar el acceso root remotamente. En mi caso lo quiero dejar habilitado porque luego desde mi equipo (otra maquina) quiero acceder a través de MySQL Workbench para administrarlo de una forma mas comoda. Yo marcaré «N»
– Nos preguntará si deseamos eliminar la base de pruebas llamada «test». Yo la eliminaré marcando «Y»
– Por último nos preguntará si deseamos aplicar todos los privilegios que hemos configurado a las tablas inmediatamente. ¡Por supuesto!

sudo mysql_secure_installation
root@mysql-master:~# sudo mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN 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 plugin?

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password: 
Re-enter new password: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :
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) :
 ... skipping.
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) : 
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

4- Configurar el acceso remoto desde otra maquina.
Editamos el fichero de configuración de MySQL. comentando la linea de bind-address para permitir acceder remotamente desde cualquier maquina y skip-external-locking para que pueda escuchar las peticiones TCP hacia nuestro servidor.
quedando asi:
#skip-external-locking
#bind-address = 127.0.0.1

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

5- Reiniciamos el servidor MySQL para que se aplique este cambio

sudo service mysql restart

6- Establecemos los permisos
– Nos conectamos a la base de datos y ejecutamos las siguientes consultas.
– ‘root’@’%’ –> % Indica desde cualquier direccion ip
– Cambia «password» por tu contraseña

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

FIN!
Ya podemos acceder desde otro equipo mediante root.
Una vez configurado todo el equipo seria conveniente habilitar el bind-address poniendo las ip de los equipos externos que necesitan acceder a la MySQL y evitar un problema de dejar expuesto a todo el mundo el puerto de MySQL

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.