Rohit Bohara
Rohit Bohara

Reputation: 333

mysqlbinlog doesn't work in Google Cloud SQL MySql

I have MySql instance on Google Cloud SQL. I have enabled binary logs. I can check the log files, as shown below.

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

I am able to check the events also in logs file.

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)                                    |
+------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+

But it gives me error when I use the mysqlbinlog command.

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

I don't understand what is going wrong here. Please help.

Upvotes: 2

Views: 2628

Answers (1)

marian.vladoi
marian.vladoi

Reputation: 8056

  1. On cloud shell install :

sudo apt-get install mysql-server

  1. Install the Cloud SQL Proxy client on your local machine

  2. Then run :

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

Upvotes: 5

Related Questions