mysqlbinlog не работает в Google Cloud SQL MySQL

#mysql #google-cloud-sql

#mysql #google-cloud-sql

Вопрос:

У меня есть экземпляр MySQL в Google Cloud SQL. Я включил двоичные журналы. Я могу проверить файлы журнала, как показано ниже.

 mysql> SHOW BINARY LOGS;
 ------------------ ----------- ----------- 
| Log_name         | File_size | Encrypted |
 ------------------ ----------- ----------- 
| mysql-bin.000001 |   1375216 | No        |
| mysql-bin.000002 |   7336055 | No        |
 ------------------ ----------- ----------- 
  

Я также могу проверять события в файле журналов.

 mysql> SHOW BINLOG EVENTS IN 'mysql-bin.000001' limit 5;
 ------------------ ----- ---------------- ----------- ------------- ------------------------------------------------------------------- 
| Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                                              |
 ------------------ ----- ---------------- ----------- ------------- ------------------------------------------------------------------- 
| mysql-bin.000001 |   4 | Format_desc    | 883641454 |         124 | Server ver: 8.0.18-google, Binlog ver: 4                          |
| mysql-bin.000001 | 124 | Previous_gtids | 883641454 |         155 |                                                                   |
| mysql-bin.000001 | 155 | Gtid           | 883641454 |         234 | SET @@SESSION.GTID_NEXT= 'd635d876-06de-11eb-b2ab-42010a9d0043:1' |
| mysql-bin.000001 | 234 | Query          | 883641454 |         309 | BEGIN                                                             |
| mysql-bin.000001 | 309 | Table_map      | 883641454 |         367 | table_id: 81 (mysql.heartbeat)                                    |
 ------------------ ----- ---------------- ----------- ------------- ------------------------------------------------------------------- 
  

Но это выдает мне ошибку, когда я использую mysqlbinlog команду.

 mysql> mysqlbinlog mysqld-bin.000001;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqlbinlog mysqld-bin.000001' at line 1
  

Я не понимаю, что здесь происходит не так. Пожалуйста, помогите.

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

1. запустите это из командной строки, а не из оболочки mysql

2. mysqlbinlog не является командой MySQL. Его необходимо запускать из командной оболочки

Ответ №1:

  1. При установке облачной оболочки :

sudo apt-get install mysql-server

  1. Установите прокси-клиент Cloud SQL на свой локальный компьютер

  2. Затем запустите :

mysqlbinlog -R --protocol TCP --host localhost --user root --password --port 3306 mysqld-bin.000001;