Предоставьте все привилегии моей учетной записи localhost MySQL из Google Cloud SQL MySQL, чтобы я мог перенести свою локальную базу данных в cloud one

#mysql #google-cloud-sql

#mysql #google-cloud-sql

Вопрос:

В настоящее время я пытаюсь предоставить доступ моему локально размещенному пользователю MySQL к моему экземпляру Google Cloud SQL MySQL, чтобы я мог перенести базу данных.

В настоящее время я выполнил следующее:

Авторизовал мой IP (он от моего провайдера, поэтому со временем он изменится) в моих подключениях Cloud SQL.

На моем ноутбуке я вошел в свой экземпляр с помощью:

 mysql --host=12.345.678.90 --user=root --password
  

Затем я создал себе пользователя, чтобы после этого я мог использовать mysqladmin и mysqldump для переноса базы данных.:

 mysql> CREATE USER 'andrew'@'98.76.543.210' IDENTIFIED BY 'andrew';
  

Затем:

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'andrew'@'98.76.543.210 WITH GRANT OPTION;
  

Но я получаю сообщение об ошибке:

 ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
  

Комментарии:

1. Итак, чтобы все было ясно… 12.345.678.90 — это ваш экземпляр Cloud SQL, а 98.76.543.213 — локальный экземпляр? Итак, со своего ноутбука вы входите в свой экземпляр Cloud SQL и создаете пользователя, авторизованного из вашего дома, в экземпляр Cloud SQL?

2. Да, это правильно

3. И для подтверждения, если вы зайдете в облачную консоль (console.cloud.google.com ), перейдите в Cloud SQL и щелкните свой экземпляр, затем нажмите «Пользователи» в навигаторе слева, вы видите root там с % (any host) именем хоста?

4. Вы можете использовать «ПРЕДОСТАВИТЬ ВСЕ НА % . *» вместо «ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ», который предоставит все привилегии, кроме SUPER и FILE, как описано в ответе, опубликованном ниже.

Ответ №1:

Пользователи, созданные с помощью Cloud SQL, имеют все привилегии, кроме FILE и SUPER.

Набор привилегий, которые вы можете установить, выглядит следующим образом

 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON mydb.* TO 'admin'@'%' WITH GRANT OPTION
  

То есть вы не можете ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ, поскольку для этого требуется SUPERROLE.