Cómo instalar MySQL en openSUSE Leap 15.1

En este artículo veremos cómo instalar MySQL Server en openSUSE Leap 15.1 paso a paso, de modo que podrás utilizar este potente servicio de bases de datos relacionales en tu servidor o VPS openSUSE, incluso activando el acceso remoto si lo necesitas.

Antes de instalar MySQL en openSUSE Leap 15.1

Si quieres seguir esta guía de instalación y configuración de MySQL Server en openSUSE Leap 15.1 debes satisfacer al menos los siguientes puntos:

  • Un sistema openSUSE Leap 15.1 actualizado.
  • Un usuario con permisos de sudo o el mismo root.
  • Conexión a Internet.

Cómo instalar el repositorio de MySQL en openSUSE Leap 15.1

Como en la distribución no existen paquetes, vamos a instalar el repositorio de MySQL en openSUSE Leap 15.1, con lo que dispondremos siempre de las últimas versiones disponibles.

Para ello accederemos a la zona de descargas de la web oficial de MySQL:

como descargar mysql para opensuse leap 15.1

Al final de esta página encontraremos el enlace que nos lleva a las descargas GPL de MySQL:

descargar mysql para opensuse leap 15.1

Uno de los enlaces disponibles es el que nos ofrece los repositorios para openSUSE:

repositorio de mysql para opensuse leap 15.1

Escogeremos la versión para openSUSE 15, que nos llevará finalmente a la página de descarga:

Bajo los enlaces de inicio de sesión o registro en Oracle se encuentra el enlace «No thanks, just start my download» para descargar directamente el paquete.

Antes de instalar este paquete, instalaremos la clave pública con la que se firma el repositorio de MySQL:

~> sudo rpm --import 'http://pgp.mit.edu/pks/lookup?op=get&search=0x8C718D3B5072E1F5'

Copiamos el enlace del paquete del repositorio de MySQL y lo instalamos desde consola mediante el comando zypper:

~> sudo zypper install -y https://dev.mysql.com/get/mysql80-community-release-sl15-3.noarch.rpm

Ya tenemos instalado el repositorio de MySQL en el sistema, ahora actualizaremos la información de las listas de paquetes con zypper:

~> sudo zypper refresh

Cómo instalar MySQL Server en openSUSE Leap 15.1

Para instalar MySQL Server en openSUSE Leap 15.1 el paquete que necesitamos es mysql-community-server, lo instalaremos con zypper:

~> sudo zypper install -y mysql-community-server

Tras la descarga en instalación de los paquetes se crea un nuevo servicio en openSUSE Leap 15.1 llamado mysql.service, o mysql si lo prefieres, que no queda en ejecución ni habilitado para iniciar automáticamente con el sistema.

Iniciaremos MySQL Server con el comando systemctl:

~> sudo systemctl start mysql

Y habilitaremos MySQL Server para su inicio automático con openSUSE Leap 15.1 con la opcion enable del comando systemctl:

~> sudo systemctl enable mysql

Podemos comprobar en cualquier momento el estado de MySQL Server con el comando systemctl status mysql:

como instalar mysql server en opensuse leap 15.1

Cómo instalar el cliente de MySQL Server en openSUSE Leap 15.1

Al instalar el servidor de bases de datos, el cliente es una de las dependencias. Pero si lo que quieres es únicamente instalar el cliente de MySQL en openSUSE Leap 15.1, el paquete que necesitas es mysql-community-client:

~> sudo zypper install -y mysql-community-client

Esto instalará el comando de consola mysql.

Cómo configurar MySQL Server en openSUSE Leap 15.1

Antes de configurar MySQL Server en openSUSE Leap 15.1 es importante conocer la contraseña temporal aleatoria que se ha generado para el usuario root, y que se guarda en los registros del servicio.

Filtrando el archivo /var/log/mysql/mysqld.log encontraremos la contraseña:

~> sudo grep password /var/log/mysql/mysqld.log
2019-12-02T18:08:06.829762Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /Lx1u*>2oAn!

Conectaremos con el servicio mediante el cliente de consola mysql con el usuario root y la contraseña temporal:

~> mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.18
...
mysql>

La única operación que podremos realizar en este momento es cambiar la contraseña:

mysql> alter user root@localhost identified by 'XXXXXXXX';

MySQL Server 8 es muy estricto a la hora de crear contraseñas de usuario, así que deberás asignar una contraseña fuerte.

Plugin de autenticación

El plugin de autenticación por defecto de MySQL Server 8 es caching_sha2_password, que es incompatible con clientes y conectores antiguos, como las librerías de PHP que usan muchas aplicaciones web. Así que si necesitas usuarios con la autenticación tradicional, con el plugin mysql_native_password, tienes dos opciones.

Una opción es especificar el plugin en el momento de crear el usuario:

mysql> create user usuario@localhost identified with mysql_native_password by 'XXXXXXXX';

La otra opción es especificar como plugin de autenticación por defecto el tradicional, de modo que no tengamos que preocuparnos de especificar plugin a la hora de crear usuarios. Para ello editamos el archivo de configuración de MySQL Server:

~> sudo nano /etc/my.cnf

Buscamos la directiva default_authentication_plugin:

...
# default-authentication-plugin=mysql_native_password
...

La directiva ya viene configurada con el valor que nos interesa pero no está activada, hay que eliminar el carácter # al inicio de línea:

...
default-authentication-plugin=mysql_native_password
...

Guardamos los cambios y reiniciamos el servicio:

~> sudo systemctl restart mysql

Ahora, para crear un usuario con el plugin nativo no es necesario indicarlo, ya que es el que se usa por defecto:

> create user usuario@localhost identified by 'XXXXXXXX';

El plugin auth_socket

Existe un plugin de autenticación que en lugar de basarse en contraseña se basa en el usuario de openSUSE Leap 15.1 que inicia sesión con el cliente mysql. Se produce el inicio de sesión con un usuario de MySQL (si existe) con el mismo nombre.

En el caso de root, además se podría iniciar sesión sin contraseña usando sudo. Esto es útil si queremos que el sistema realice tareas de MySQL con root sin tener que almacenar su contraseña en diversos archivos de configuración.

Se trata del plugin auth_socket, que el servidor no carga por defecto, por lo que debemos editar my.cnf:

~> sudo nano /etc/my.cnf

Dentro de la sección mysqld incluiremos una directiva plugin_load_add:

..
[mysqld]
...
plugin_load_add=auth_socket.so
...

Guardamos los cambios y reiniciamos MySQL Server:

~> sudo systemctl restart mysql

Iniciamos sesión con mysql y root con su contraseña actual:

~> mysql -u root -p

Iniciada la sesión cambiamos el plugin de autenticación y limpiamos la contraseña actual:

mysql> alter user root@localhost identified with auth_socket by '';

Salimos del cliente:

mysql> exit

Y ya podemos entrar sin contraseña si nuestro usuario de openSUSE Leap 15.1 es root:

~ # mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.18 MySQL Community Server - GPL
...
mysql>

O si usamos otro usuario, con sudo:

~> sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.18 MySQL Community Server - GPL
...
mysql>

Acceso remoto a MySQL Server en openSUSE Leap 15.1

Para acceder remotamente al servicio MySQL Server en nuestro servidor openSUSE Leap 15.1 necesitamos lo siguiente:

  • Que MySQL Server permita las conexiones remotas.
  • Un usuario de MySQL con acceso remoto.
  • La configuración adecuada del firewall

Por defecto, MySQL Server permite las conexiones remotas. En el caso de que no quisieras que el servicio atienda el acceso remoto, edita el archivo de configuración MySQL Server en openSUSE Leap 15.1:

~> sudo nano /etc/my.cnf

Dentro de la sección mysqld, añade una directiva bind_address con el valor 127.0.0.1:

...
[mysqld]
...
bind_address=127.0.0.1
...

Guardados los cambios, habría que reiniciar el servicio MySQL:

~> sudo systemctl restart mysql

Pero en el caso de que quieras continuar con la configuración de acceso remoto, lo siguiente que necesitamos es un usuario con capacidades de inicio de sesión remota. Al crear el usuario lo haremos sin especificar la parte de la @, que equivale a @’%’, que significa acceso desde cualquier ubicación:

mysql> create chacho identified by 'XXXXXXXX';

Si además quieres que este usuario sea administrador, ya que root no debe acceder remotamente, se le puede dar privilegios totales:

mysql> grant all privileges on *.* to chacho with grant option;

Configurar el firewall de openSUSE Leap 15.1 para MySQL Server

El firewall de openSUSE Leap 15.1 suele estar activado por defecto, así que necesitamos añadir una regla para permitir las conexiones a MySQL Server:

~> sudo firewall-cmd --permanent --add-service=mysql

Aplicamos los cambios recargando la configuración del firewall:

~> sudo firewall-cmd --reload

Conectar remotamente

Para probar el acceso remoto podemos usar el cliente de consola mysql en otro sistema, especificando la dirección del servidor openSUSE Leap 15.1 con el parámetro -h, el usuario con acceso remoto con el parámetro -u y el parámetro -p para que se nos solicite la contraseña:

como configurar mysql server en opensuse leap 15.1

Sólo habrá que tener en cuenta qué plugin de autenticación tiene configurado el usuario con acceso remoto y si la versión del cliente de consola utilizado soporta dicho plugin.

Conclusión

Ahora ya sabes cómo instalar y configurar MySQL Server en openSUSE Leap 15.1 en su última versión disponible, con lo que tendrás un gran servicio de bases de datos configurado en tu servidor o VPS.

En caso de preguntas, sugerencias, alguna duda, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya funciona el servicio en tu sistema gracias a esta guía de instalación y configuración de MySQL Server en openSUSE Leap 15.1? Si es así y deseas agracecérnoslo, cualquier pequeña aportación ayuda al mantenimiento de este sitio y a la creación de más tutoriales de openSUSE Leap 15.1 y MySQL Server. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 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