Google cloud sql - mysql import issue

Estoy tratando de importar una tabla en una instancia recién creada en la nube de Google MySQL pero tengo el siguiente mensaje de error:

Error 1142: INSERT command denied to user 'cloudsqlimport'@'127.0.0.1' for table

Cuando trato de otorgar los privilegios a cloudsqlimport de la consola sql de la nube:

mysql> UPDATE `mysql`.`user` SET `insert_priv` = 'Y' WHERE `User` = 'cloudsqlimport';
ERROR 1142 (42000): UPDATE command denied to user 'root'@'104.xxx.xx.xx' for table 'user'

mysql> UPDATE `mysql`.`user` SET `Grant_priv` = 'Y' WHERE `User` = 'root';
ERROR 1142 (42000): UPDATE command denied to user 'root'@'104.xxx.xx.xx' for table 'user'

Mismo problema cuando trato de conceder el "insert_priv" a través de MySQL workbench

¿Cómo puedo resolver este problema?

Pregunta hecha hace 3 años, 4 meses, 25 días - Por binaryblossom


3 Respuestas:

  • Este error puede deberse a una de las siguientes causas:

    1- Falta de permisos

    2- Base de datos o Tabla deletreada incorrectamente.

    3- Usuario correctamente deletreado pero la IP no es correcta.

    Para ver los permisos que tiene su usuario, Inicia sesión en MySQL con tu usuario y ejecuta el siguiente comando:

    SHOW GRANTS;
    

    Esto le mostrará los privilegios (subvenciones en MySQL) que el usuario actual tiene. Por favor, compruebe si tiene privilegios de INSERT para la tabla dada.

    Respondida el Dec 20, 2020 a las 14:11 - por techsavvypro

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando al intentar importar una tabla en una instancia de Google Cloud SQL MySQL se debe a que el usuario 'cloudsqlimport' no tiene los permisos necesarios para realizar operaciones de inserción en la base de datos.

    Para solucionar este problema, puedes seguir los siguientes pasos:

    • Conéctate a tu instancia de Google Cloud SQL MySQL a través de Cloud Shell o utilizando una herramienta de gestión de bases de datos como MySQL Workbench.
    • Inicia sesión en MySQL como usuario root o un usuario con privilegios de administración.
    • Ejecuta el siguiente comando para otorgar los privilegios necesarios al usuario 'cloudsqlimport':
    sql
    GRANT INSERT ON . TO 'cloudsqlimport'@'127.0.0.1';
    

    Este comando otorgará al usuario 'cloudsqlimport' el permiso de inserción en todas las bases de datos y tablas.

    • Si el comando se ejecuta sin errores, intenta nuevamente importar la tabla en la instancia de Google Cloud SQL MySQL.

    Con estos pasos, deberías poder resolver el problema y otorgar los permisos necesarios al usuario 'cloudsqlimport' para importar la tabla en la instancia de Google Cloud SQL MySQL.

    Respondida el Dec 21, 2020 a las 14:15 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Pasos para resolver el problema de importación de Google Cloud SQL - MySQL:

    • Conéctate a la instancia de MySQL como usuario root:

    bash
       gcloud sql connect INSTANCE_NAME --user=root
       

    • Crea el usuario 'cloudsqlimport' y otórgale los privilegios necesarios:

    sql
       CREATE USER 'cloudsqlimport'@'%' IDENTIFIED BY 'PASSWORD';
       GRANT INSERT ON dbname.tablename TO 'cloudsqlimport'@'%';
       FLUSH PRIVILEGES;
       

    • Reinicia la instancia de MySQL:

    bash
       gcloud sql restart INSTANCE_NAME
       

    • Intenta importar la tabla de nuevo:

    bash
       gcloud sql import INSTANCENAME gs://BUCKETNAME/FILE_NAME.sql
       

    Notas adicionales:

    Asegúrate de reemplazar "INSTANCENAME", "dbname" y "table_name" con los valores correspondientes. Reemplaza 'PASSWORD' con una contraseña segura para el usuario 'cloudsqlimport'. El carácter comodín '%' en la concesión de privilegios permite que el usuario 'cloudsqlimport' inserte en la tabla desde cualquier host. Si aún tienes problemas, intenta deshabilitar el cortafuegos de la instancia y vuelve a intentarlo.

    Respondida el Dec 21, 2020 a las 14:22 - por Gemini

    Votos positivos: 0 | Votos negativos: 0