Saltar al contenido

Cómo conectarse a una base de datos gestionada en Ubuntu 18.04

marzo 4, 2020

 

Introducción

bases de datos administrados tienen una serie de ventajas con respecto a las bases de datos de autogestión, incluyendo las actualizaciones automáticas, de escala simplificada y alta disponibilidad. Si usted es nuevo en el trabajo con bases de datos gestionadas, sin embargo, la mejor manera de llevar a cabo determinadas tareas – como la conexión a la base de datos – puede no ser evidente por sí mismo.

En esta guía, vamos a ir sobre cómo instalar los programas cliente para una variedad de sistemas de gestión de base de datos (DBMS), incluyendo PostgreSQL, MySQL y Redis, en un servidor de Ubuntu 18.04. También explicaremos cómo utilizar estos programas para conectarse a una instancia de base de datos gestionada.

Nota: las instrucciones descritas en esta guía se pusieron a prueba con bases de datos gestionadas digitalocean, pero deben por lo general el trabajo de bases de datos gestionadas desde cualquier proveedor de la nube. Sin embargo, si se encuentra con problemas de conexión a una base de datos aprovisionado de otro proveedor, debe consultar la documentación en busca de ayuda.

Requisitos previos

Para seguir las instrucciones que se detallan en esta guía, necesitará:

  • El acceso a un servidor que ejecuta Ubuntu 18.04. Este servidor debe tener un usuario no root con privilegios administrativos y un cortafuegos configurado con UFW. Para hacer esto, siga nuestra configuración inicial del servidor Guía para Ubuntu 18.04.
  • Un ejemplo de base de datos gestionada. Este tutorial proporciona instrucciones sobre cómo conectarse a una variedad de sistemas de gestión de bases de datos, específicamente PostgreSQL, MySQL y Redis. Para la provisión de una base de datos gestionada digitalocean, consulte nuestra documentación para el DBMS de su elección: PostgreSQLMySQLRedis
  • PostgreSQL
  • MySQL
  • Redis
  • PostgreSQL
  • MySQL
  • Redis

Una vez que tenga estos en su lugar, saltar a correspondientes a la sección alinea con su DBMS.

Conexión a una base de datos PostgreSQL Gestionado

Para conectarse a una base de datos PostgreSQL administrado, puede utilizar psql, el cliente de línea de comandos estándar para Postgres. Es de código abierto, mantenida por el Grupo de Desarrollo de PostgreSQL, y por lo general se incluye cuando se descarga el servidor PostgreSQL. Sin embargo, puede instalar psql por sí mismo instalando el paquete postgresql-cliente con APT.

Si no has hecho hasta hace poco, la actualización del índice de paquetes de su servidor:

sudo apt update

  • sudo update apt

A continuación, ejecute el siguiente comando para instalar psql:

sudo apt install postgresql-client

  • sudo apt instalar postgresql-client

APT le pedirá que confirme que desea instalar el paquete. Hacerlo pulsando ENTER.

Después de eso, usted puede conectarse a su base de datos PostgreSQL logrado sin necesidad de configuración adicional. Por ejemplo, es posible invocar psql con las siguientes banderas:

  • -U, el usuario PostgreSQL que desea conectarse como
  • -H, nombre de host de la base de datos gestionada o la dirección IP
  • -p, el puerto TCP en el que el administrado la base de datos está a la escucha para las conexiones
  • -d, la base de datos específica que desea conectarse a
  • -v, abreviatura de valores de las variables “variable” precede a otras variables de conexión, seguida de un signo igual (=) y. Por ejemplo, si desea validar el certificado CA de la base de datos cuando se conecta, debe incluir -v = sslmode requieren en su comando
  • -W, que dice psql para que le solicite la contraseña del usuario PostgreSQL. Tenga en cuenta que usted podría preceder el comando psql con PGPASSWORD = contraseña, pero por lo general se considera más seguro de no incluir contraseñas en la línea de comandos

Con estos indicadores incluyen, la sintaxis del comando psql se vería así:

psql -U user -h host -p port -d database -v variable=value -W

  • psql – puerto U usuario del host -h -p base de datos -d -v variable = valor -W

Alternativamente, si su proveedor ofrece una base de datos gestionada de identificador uniforme de recursos (URI) para conectar, es posible utilizar la siguiente sintaxis:

psql postgresql://username:[email protected]:port/database?option_1=value&option_n=value

  • psql de PostgreSQL: // usuario: contraseña @ host: puerto / base de datos opción_1 = valor y option_n = valor

Nota: Si se conecta a una base de datos digitalocean administrado, puede encontrar toda esta información de conexión en su nube Panel de control . Haga clic en Bases de datos en el menú de la barra lateral de la izquierda, a continuación, haga clic en la base de datos que desea conectarse y desplazarse hacia abajo para encontrar su sección Detalles conexión. A partir de ahí, se lleve a cabo una de las siguientes acciones:

  • Seleccionar la opción Parámetros de conexión y copiar los campos pertinentes de forma individual en la sintaxis psql detallado anteriormente
  • Seleccionar la opción Cadena de conexión y copiar una conexión confeccionada URI puede pegar en el conexión de la sintaxis URI indicado anteriormente
  • Seleccionar la opción Banderas y copiar un comando listo para su uso psql que se puede pegar en su terminal para realizar la conexión

con esto, usted está listo para comenzar a usar con su gestión instancia PostgreSQL. Para obtener más información sobre cómo interactuar con PostgreSQL, consulte nuestra guía sobre cómo gestionar una base de datos SQL. También puede encontrar nuestra Introducción a consultas en PostgreSQL útil.

Conexión a una base de datos MySQL Gestionado

Para conectarse a una base de datos MySQL administrado, se puede utilizar el cliente oficial de la base de datos MySQL. En Ubuntu, este cliente se instala normalmente mediante la descarga del paquete mysql-cliente a través de APT. Si está utilizando los repositorios de Ubuntu por defecto, sin embargo, esto instalará la versión 5.7 del programa.

Con el fin de acceder a una base de datos MySQL digitalocean Gestionado, necesitará instalar la versión 8.0 o superior. Para ello, primero debe agregar el repositorio de software MySQL antes de instalar el paquete.

Nota: Si no es necesario instalar la última versión de MySQL-cliente, sólo puede actualizar el índice de paquetes de su servidor e instalar mysql-client sin agregar el repositorio de software MySQL: actualización apta

sudo apt update
sudo apt install mysql-client

  • sudo
  • sudo apt instalar mysql-cliente

Si no está seguro de si necesita la última versión de MySQL-cliente, debe consultar la documentación de bases de datos gestionadas de su proveedor de nube.

Begin navegando a la página Repositorio APT MySQL en su navegador web. Encontrar el botón Descargar en la esquina inferior derecha y haga clic a través de la página siguiente. Esta página le pedirá que ingrese o registrarse para obtener una cuenta web de Oracle. Puede saltarse este y en lugar de buscar el enlace que dice No gracias, acaba de empezar mi descarga . Haga clic en el enlace y seleccione Copiar dirección de enlace (esta opción puede formularse de manera diferente, dependiendo de su navegador).

Ahora ya está listo para descargar el archivo. En el servidor, se mueven a un directorio en el que se puede escribir a:

cd mp

  • cd / tmp

Descargar el archivo usando rizo, recordando a pegar la dirección que acaba de copiar en lugar de la parte resaltada de la siguiente comando. También es necesario pasar dos indicadores de línea de comando para rizo. -O rizo instruye a la salida a un archivo en lugar de la salida estándar. Las marcas L bandera enrollamiento siguen las redirecciones HTTP, que es necesario en este caso porque la dirección que ha copiado en realidad redirige a otra ubicación antes de las descargas de archivos:

curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb

  • rizo OL https://dev.mysql.com/get/mysql -apt-config_0.8.13-1_all.deb

ahora, el archivo debe ser descargado en el directorio actual. Listar los archivos para asegurarse de que: ls

ls

Usted verá el nombre del archivo que aparece en la salida:

Outputmysql-apt-config_0.8.13-1_all.deb
. . .

ahora que se puede añadir el repositorio APT MySQL a lista de repositorios de su sistema. El comando dpkg se utiliza para instalar, extraer e inspeccionar los paquetes de software .deb. El siguiente comando incluye el indicador -i, lo que indica que desea instalar desde el archivo especificado:

sudo dpkg -i mysql-apt-config*

  • sudo dpkg -i MySQL-apt-config *

Durante la instalación, se le presentará con una pantalla de configuración donde se puede especificar qué versión de MySQL prefiere, junto con una opción para instalar repositorios para otras herramientas relacionadas con MySQL. Los valores por defecto se sumará la información del repositorio para la última versión estable de MySQL y nada más. Esto es lo que queremos, a fin de utilizar la flecha hacia abajo para desplazarse a la opción de menú OK y pulsa enter.

A continuación, el paquete será terminar de agregar el repositorio. Refrescar la caché de paquetes apt para que los nuevos paquetes de software disponibles: actualización apta

sudo apt update

  • sudo

A continuación, se puede limpiar el sistema un poco y eliminar el archivo descargado, ya que no lo necesitará en el futuro :

rm mysql-apt-config*

  • rm mysql-apt-config *

Nota: Si alguna vez tiene que actualizar la configuración de estos repositorios, ejecute el siguiente comando para elegir sus nuevas opciones:

sudo dpkg-reconfigure mysql-apt-config

  • sudo mysql dpkg-reconfigure -apt-config

Después de seleccionar sus nuevas opciones, ejecute el siguiente comando para refrescar la caché de paquetes: apt update

sudo apt update

  • sudo

Ahora que ha añadido los repositorios de MySQL, ya está listo para instalar el software real del cliente de MySQL. Lo hacen con el siguiente comando apt:

sudo apt install mysql-client

  • sudo apt instalar mysql-cliente

Una vez que finalice el comando, compruebe el número de versión de software para asegurarse de que tiene la última versión:

mysql --version

  • MySQL –version

Outputmysql Ver 8.0.17-cluster for Linux on x86_64 (MySQL Community Server - GPL)

Después de haber instalado el paquete mysql-cliente, puede acceder a su base de datos gestionada mediante la ejecución del comando de MySQL con los siguientes argumentos: banderas como

  • -u, el usuario de MySQL que desea conectarse como
  • -p, le dice a MySQL a preguntar por el password del usuario. Se podría incluir su contraseña directamente en el comando de conexión tras la bandera -p (sin un espacio, como en ppassword), pero, por razones de seguridad, esto no se recomienda generalmente
  • -H, nombre de host de la base de datos o la dirección IP
  • – P, el puerto TCP en el que MySQL está escuchando las conexiones
  • -D, la base de datos específica que desea conectarse a

el uso de estas banderas, la sintaxis MySQL se verá así:

mysql -u user -p -h host -P port -D database

  • mysql -u usuario -p -h host de base de datos del puerto D -P

Alternativamente, si usted tiene una conexión URI que se puede utilizar para conectar, se utilizaría una sintaxis como esta:

mysql mysql://user:[email protected]:port/database?option_1=value&option_n=value

  • mysql: // usuario: contraseña @ host: puerto ? / base de datos opción_1 = valor y option_n = valor

Nota: Si se conecta a una base de datos digitalocean administrado, puede encontrar toda esta información de conexión en su Nube Panel de control . Haga clic en Bases de datos en el menú de la barra lateral de la izquierda, a continuación, haga clic en la base de datos que desea conectarse y desplazarse hacia abajo para encontrar su sección Detalles conexión. A partir de ahí, se lleve a cabo una de las siguientes acciones:

  • Seleccionar la opción Parámetros de conexión y copiar los campos pertinentes de forma individual en la sintaxis MySQL esbozado anteriormente
  • Seleccionar la opción Cadena de conexión y copiar una conexión confeccionada URI puede pegar en el cadena de conexión detallado anteriormente
  • Seleccionar la opción Banderas y copiar un comando listo para el uso de MySQL, que puede pegar en su terminal para realizar la conexión

con esto, usted está listo para comenzar a utilizar MySQL con su gestión ejemplo. Para obtener más información sobre cómo interactuar con MySQL, consulte nuestra guía sobre cómo gestionar una base de datos SQL. También puede encontrar nuestra Introducción a consultas en MySQL útil.

una nota con respecto contraseña de autenticación en MySQL 8

En MySQL 8.0 y versiones posteriores, el valor predeterminado de autenticación plugin es caching_sha2_password. Al escribir estas líneas, sin embargo, PHP no soporta caching_sha2_password. Si usted planea usar su base de datos MySQL logrado con una aplicación que utiliza PHP, como WordPress o phpMyAdmin, esto puede conducir a problemas cuando la aplicación intenta conectarse a la base de datos.

Si usted tiene acceso a los archivos de configuración de la base de datos, se puede agregar una configuración para forzarlo a utilizar un plugin de autentificación PHP-apoyado – por ejemplo, mysql_native_password – por defecto:

[mysqld]
default-authentication-plugin=mysql_native_password

Sin embargo, algunos proveedores de bases de datos gestionadas – incluyendo digitalocean – no cometa el archivo de configuración de base de datos a disposición de los usuarios finales. En este caso, se puede conectar a la base de datos y ejecutar un comando ALTER USER para cualquier usuario de MySQL existentes que necesitan conectarse a la base de datos, pero no puede hacerlo con el plugin caching_sha2_password: usuario

ALTER USER user IDENTIFIED WITH mysql_native_password BY 'password';

  • ALTER usuario identificado CON mysql_native_password POR ‘contraseña’;

Por supuesto, se puede establecer nuevos usuarios autenticarse con mysql_native_password especificando el plugin en sus respectivas declaraciones de usuario Crear:

CREATE USER user IDENTIFIED WITH mysql_native_password BY 'password';

  • Crear usuario usuario identificado CON mysql_native_password POR ‘contraseña’;

Si está utilizando una base de datos digitalocean Gestionado, tenga en cuenta que si configura un usuario para autenticar con un plug-in de otra caching_sha2_password entonces no va a ser capaz de ver la contraseña de ese usuario en el panel de control de la nube. Por esta razón, usted debe asegurarse de que anotar las contraseñas de los usuarios que se autentican con mysql_native_password u otros plugins en un lugar seguro.

Conexión a una base de datos Redis Gestionado

Al instalar Redis localmente, viene con Redis-cli, la interfaz de línea de comandos Redis. Puede utilizar Redis-cli para conectarse a un mando a distancia, gestionado ejemplo Redis, pero no soporta de forma nativa conexiones TLS / SSL. Hay formas de configurar Redis-cli de seguridad de conexión a una instancia Redis administrado (por ejemplo, mediante la configuración de un túnel TLS), pero hay clientes alternativos Redis que se han incorporado en TLS.

Para digitalocean administrados Redis bases de datos, recomendamos que instale Redli, un código abierto, terminal de Redis interactiva. Para ello, vaya a la página Lanzamientos en el proyecto Redli GitHub y localizar la tabla de bienes para la versión más reciente. Al escribir estas líneas, esta será la versión 0.4.4.

Allí, se encontró en el enlace del archivo que termina en linux_amd64.tar.gz. Este enlace apunta a un archivo conocido como archivo tar que, cuando se extrae, se va a crear unos archivos en su sistema. Haga clic derecho en este enlace y seleccione Copiar dirección del enlace (esta opción puede variar en función de su navegador web).

En el servidor, se mueven a un directorio puede escribir a:

cd mp

  • cd / tmp

A continuación, pegar el enlace en el siguiente comando wget, en sustitución de la URL resaltada. Este comando descargará el archivo en el servidor:

wget https://github.com/IBM-Cloud/redli/releases/download/v0.4.4/redli_0.4.4_linux_amd64.tar.gz

  • wget https://github.com/IBM-Cloud/redli/releases/download/v0.4.4/redli_0.4.4_linux_amd64.tar.gz

Una vez que el archivo se ha descargado en el servidor, extraer el archivo tar:

tar xvf redli_0.4.4_linux_amd64.tar.gz

  • tar xvf redli_0.4.4_linux_amd64.tar.gz

Esto creará los siguientes archivos en el servidor:

OutputLICENSE.txt
README.md
redli

el archivo redli es el binario redli presentar . Mover al directorio / usr / local / bin, la ubicación en Ubuntu busca los archivos ejecutables:

sudo mv redli /usr/local/bin/

En este punto, se puede limpiar el sistema un poco y eliminar el tarball:

rm redli_0.4.4_linux_amd64.tar.gz

  • rm redli_0.4.4_linux_amd64 tar.gz

ya se puede utilizar Redli para conectarse a la instancia de Redis administrado. Se podía hacerlo mediante la ejecución del comando redli seguido por estas banderas:

  • -h, el host para conectarse a. Esto puede ser un nombre de host o una dirección IP
  • -a, la contraseña utilizada para autenticar a la instancia Redis
  • -p, el puerto para conectarse a

Con estos indicadores incluyen, la sintaxis redli sería de la siguiente manera.

redli --tls -h host -a password -p port

  • redli –tls puerto de host -h -a -p contraseña: Tenga en cuenta que este ejemplo también incluye la opción, lo que le permite conectarse a una base de datos Redis logrado a través de TLS / SSL y sin la necesidad de un túnel –tls

Uno de los beneficios que tiene sobre Redli redis-cli es que entiende el protocolo rediss, que se utiliza para designar un URI apuntando a una base de datos Redis. Esto le permite utilizar una cadena de conexión para acceder a su base de datos:

redli --tls -u rediss://user:[email protected]:port

  • redli –tls -u rediss: // usuario: contraseña @ host: puerto

Tenga en cuenta que este ejemplo incluye el indicador -u, que especifica que el siguiente argumento será un URI de conexión.

Nota: Si se conecta a una base de datos digitalocean administrado, puede encontrar toda esta información de conexión en su Nube Panel de control . Haga clic en Bases de datos en el menú de la barra lateral de la izquierda, a continuación, haga clic en la base de datos que desea conectarse y desplazarse hacia abajo para encontrar la sección Detalles conexión. A partir de ahí, se lleve a cabo una de las siguientes acciones:

  • Seleccionar la opción Parámetros de conexión y copiar los campos pertinentes de forma individual en la sintaxis redli detallado anteriormente
  • Seleccionar la opción Cadena de conexión y copiar una conexión confeccionada URI que se puede utilizar con la sintaxis de cadena de conexión indicado anteriormente
  • Seleccionar la opción Banderas y copiar un comando listo para usar redli que se puede pegar en su terminal para realizar la conexión

Después de eso, puede empezar a interactuar con su instancia Redis logrado . Para obtener más información sobre cómo trabajar con Redis, ver nuestras series o hojas de trucos sobre cómo gestionar una base de datos Redis.

Conclusión

Como un fenómeno relativamente nuevo en servicios en la nube, muchas prácticas que son bien conocidos para bases de datos de autogestión no son ampliamente documentado de manera global o de bases de datos gestionadas por proveedores de la nube. Uno de los más fundamentales de estas prácticas, el acceso a la base de datos, puede no ser inmediatamente evidente para los nuevos en el trabajo con bases de datos gestionadas. Nuestro objetivo para este tutorial es que ayuda a que pueda empezar a medida que comience a utilizar una base de datos gestionada para el almacenamiento de datos.

Para obtener más información sobre cómo trabajar con bases de datos, le animamos a que echa un vistazo a nuestra variedad de contenido de la base de datos relacionada, incluyendo tutoriales enfocados directamente en PostgreSQL, MySQL y Redis.

Para obtener más información sobre las bases de datos gestionadas digitalocean, por favor ver nuestra documentación del producto Gestionados bases de datos.