En esta página se explica cómo configurar la cuenta de usuario predeterminada y crear, eliminar y actualizar otras cuentas de usuario para instancias de Cloud SQL.
Para obtener información sobre cómo funcionan los usuarios con Cloud SQL, consulta el apartado sobre usuarios de MySQL.
Antes de empezar
Para realizar las tareas en esta página, tienes haber creado primero la instancia de Cloud SQL. Para obtener más información, consulta el apartado sobre crear instancias.
Si planeas usar el cliente administrativo de tu base de datos para administrar los usuarios, debes haber configurado lo siguiente:
-
El usuario predeterminado en la instancia.
Para obtener más información, consulta el apartado sobre la configuración de una cuenta predeterminada.
-
Un cliente administrativo conectado a tu instancia.
Para obtener más información, consulta el apartado sobre opciones de conexión para aplicaciones externas.
Configurar la cuenta de usuario predeterminada
Cuando creas una nueva instancia de Cloud SQL, debes configurar la cuenta de usuario predeterminada para poder conectarte a la instancia.
Para Cloud SQL for MySQL, el usuario predeterminado esroot
.
Para configurar el usuario predeterminado:
Consola (2.ª generación)
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Haz clic en la instancia para abrir su página de información general.
- Selecciona la pestaña Usuarios.
- Busca el usuario
root
con un valor de host de% (any host)
y selecciona Cambiar contraseña en el menú de acciones adicionales.
- Introduce una contraseña segura que puedas recordar y haz clic en Aceptar.
Consola (1.ª generación)
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Haz clic en la instancia de primera generación para abrir su página de información general.
- Selecciona la pestaña Usuarios.
- Si un usuario con un nombre de usuario de
root
y un nombre de host de%(any host)
ya aparece en la lista de usuarios, no hace falta crear el usuario raíz.Para restablecer la contraseña, selecciona Cambiar contraseña en el menú de acciones adicionales
.
- Si no, haz clic en Crear cuenta de usuario.
- En el cuadro de diálogo Crear cuenta de usuario, introduce
root
para el nombre de usuario y una contraseña raíz segura que puedas recordar. Deja el nombre de host establecido enAllow any host(%)
. - Haz clic en Crear.
gcloud
Establece la contraseña para el usuario predeterminado:
gcloud sql users set-password root % \ --instance [INSTANCE_NAME] --password [PASSWORD]
cURL
La siguiente petición utiliza el método users:update para actualizar la cuenta del usuario raíz ('root'@'%'
).
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name": "root", "password": "[PASSWORD]"}' \ -X PUT \ 'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=root&host=%25'
Crear un usuario
Para crear un usuario:
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Selecciona la instancia para abrir su página de información general.
- Selecciona la pestaña Usuarios.
- Haz clic en Crear cuenta de usuario.
- En el cuadro de diálogo Crear cuenta de usuario, especifica lo siguiente:
- Un nombre de usuario.
- Una contraseña.
- Un nombre de host (opcional).
El valor predeterminado es '%', lo que significa que la lista de host no está restringida.
- Haz clic en Crear.
Los usuarios creados mediante Cloud SQL disponen de todos los privilegios, excepto FILE y SUPER.
gcloud
Crea el usuario:
gcloud sql users create [USER_NAME] [HOST] \ --instance=[INSTANCE_NAME] --password=[PASSWORD]
Los usuarios creados mediante Cloud SQL disponen de todos los privilegios, excepto FILE y SUPER.
cURL
La siguiente petición utiliza el método users:insert para crear una cuenta de usuario 'user_name'@'%'
.
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"host": "%", "name": "[USER_NAME]", "password": "[PASSWORD]"}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users
Los usuarios creados mediante Cloud SQL disponen de todos los privilegios, excepto FILE y SUPER.
Cliente MySQL
- En el símbolo del sistema
mysql
, crea el usuario:CREATE USER '[USER_NAME]'@'%' IDENTIFIED BY '[PASSWORD]';
- Puedes confirmar la creación del usuario mostrando la tabla de usuario:
SELECT user, host FROM mysql.user;
En el caso de una instancia de segunda generación, el resultado es similar al que se muestra en este ejemplo:+----------+-----------+ | user | host | +----------+-----------+ | root | % | | newuser | % | +----------+-----------+ 1 row in set (0.01 sec)
- Proporciona privilegios al usuario con la instrucción
GRANT
. Para obtener más información, consulta el apartado sobre privilegios proporcionados por MySQL. -
Vacía la tabla
mysql.user
para asegurarte de que se conserva el cambio:FLUSH TABLES mysql.user;
Cambiar una contraseña de usuario
Para cambiar una contraseña de usuario:
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Selecciona la instancia para abrir su página de información general.
- Seleccione Control de acceso > Usuarios.
- Haz clic en el menú de acciones adicionales
para el usuario que quieres actualizar.
- Selecciona Cambiar contraseña, especifica una nueva contraseña y haz clic en Aceptar.
gcloud
Actualiza la contraseña:
gcloud sql users set-password [USER_NAME] [HOST] \ --instance=[INSTANCE_NAME] --password=[PASSWORD]
cURL
La siguiente petición utiliza el método users:update para actualizar la contraseña de la cuenta de usuario 'user_name'@'%'
. Si el usuario cuenta con un host distinto, debes modificar la llamada con el host correcto.
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name": "[USER_NAME]", "host": "%", "password": "[PASSWORD]"}' \ -X PUT \ 'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=[USER_NAME]&host=%25'
Cliente MySQL
-
En el símbolo del sistema
mysql
, cambia la contraseña:SET PASSWORD FOR [USER] = PASSWORD('auth_string');
-
Vacía la tabla
mysql.user
para asegurarte de que se conserva el cambio:FLUSH TABLES mysql.user;
Enumerar usuarios
Para enumerar usuarios:
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Selecciona la instancia para abrir su página de información general.
- Seleccione Control de acceso > Usuarios.
gcloud
Enumera los usuarios para esta instancia:
gcloud sql users list --instance=[INSTANCE_NAME]
Para obtener una lista completa de parámetros para este comando, consulta la página de referencia de la lista de usuarios de gcloud sql.
cURL
La siguiente petición utiliza el método users:list para enumerar los usuarios definidos para una instancia.
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ -X GET \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users
Cliente MySQL
En el símbolo del sistema mysql
, enumera los usuarios de MySQL:
SELECT user, host FROM mysql.user;
Para una instancia de segunda generación con solo la cuenta de usuario raíz configurada, el resultado es similar al que se muestra en este ejemplo:
+------+-----------+ | user | host | +------+-----------+ | root | % | +------+-----------+ 1 row in set (0.01 sec)
Este ejemplo muestra a los usuarios de una instancia donde se agregó el usuario raíz '@'% '. El campo de contraseña muestra el hash de la contraseña.
Eliminar usuarios
Para eliminar un usuario, realiza lo siguiente:
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Selecciona la instancia para abrir su página de información general.
- Seleccione Control de acceso > Usuarios.
- Haz clic en el menú de acciones adicionales
para el usuario que quieres eliminar.
- Selecciona Eliminar y haz clic en Aceptar.
gcloud
Elimina la cuenta de usuario:
gcloud sql users delete [USER_NAME] [HOST] --instance=[INSTANCE_NAME]
cURL
La siguiente petición utiliza el método users:delete para eliminar la cuenta de usuario 'user_name'@'%'
.
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name": "[USER_NAME]", "host": "%"}' \ -X DELETE \ 'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?host=%25&name=[USER_NAME]'
Cliente MySQL
-
En el símbolo del sistema
mysql
, elimina al usuario:DROP USER '[USER_NAME]'@'[HOST_NAME]';
Para obtener más información sobre la instrucción
DROP USER
, consulta la documentación de MySQL. -
Vacía la tabla
mysql.user
para asegurarte de que se conserva el cambio:FLUSH TABLES mysql.user;
Siguientes pasos
- Obtén más información sobre cómo funciona Cloud SQL con los usuarios.
- Lee la documentación de MySQL sobre la creación de usuarios.
- Aprende a conectarte a las instancias.