En este artículo veremos cómo instalar MySQL Server en openSUSE Leap 15 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.
Contenido
Antes de instalar MySQL en openSUSE Leap 15
Si quieres seguir esta guía de instalación y configuración de MySQL Server en openSUSE Leap 15 debes satisfacer al menos los siguientes puntos:
- Un sistema openSUSE Leap 15.2 ó 15.3 actualizado (la versión 15.1 no está soportada).
- 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
Como en la distribución no existen paquetes, vamos a instalar el repositorio de MySQL en openSUSE Leap 15, con lo que dispondremos siempre de las últimas versiones disponibles.
Para ello accederemos a la zona descargas GPL de la página de descargas del sitio oficial de MySQL:
Uno de los enlaces disponibles es el que nos ofrece los repositorios para openSUSE:
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
Para instalar MySQL Server en openSUSE Leap 15 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 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 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
:
Cómo instalar el cliente de MySQL Server en openSUSE Leap 15
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, 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
Antes de configurar MySQL Server en openSUSE Leap 15 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 ....-...-..T18: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.25 ... 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 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 es root:
~ # mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 8.0.25 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.25 MySQL Community Server - GPL ... mysql>
Acceso remoto a MySQL Server en openSUSE Leap 15
Para acceder remotamente al servicio MySQL Server en nuestro servidor openSUSE Leap 15 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:
~> 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 para MySQL Server
El firewall de openSUSE Leap 15 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 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:
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 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? 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, y puedes hacerlo dejando tan sólo 1 $ de propina desde PayPal:
¡Gracias!