You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We deprecated the vitess/lite image for the mysqld container in v19.0.0. However, we later realised that the official mysql image lacks the mysqlbinlog binary, leading to failures when running incremental backup with the mysqld container on an official or unofficial MySQL image. After attempting to solve the issue, in v20.0.0, the decision was made to retain the mysqld binary in the vitess/lite image while we look for a stronger alternative, but the following steps were overlooked:
Mentioning the mysqlbinlog issue in the v19.0.0 release notes.
Updating the getting started guide (v19 and v20) to use vitess/lite for the mysqld container.
Warning
As of now, for users employing an official or unofficial MySQL images for the mysqld container and wanting to use incremental backups, it is recommended to use vitess/lite:v20.0.0 or another appropriate tag.
Take an initial backup: vtctldclient BackupShard commerce/-
Insert more rows:
$ mysql
Your MySQL connection id is 52
Server version: 8.0.30-Vitess Version: 20.0.0 (Git revision 8aeb274f6c8eeb1d0e80e17ab6b0ab10a01f60dc branch 'HEAD') built on Thu Jun 27 05:04:18 UTC 2024 by vitess@buildkitsandbox using go1.22.4 linux/amd64
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use commerce;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> insert into product(sku, description, price) values ("test", "toto", 10);
Query OK, 1 row affected (0.02 sec)
mysql> exit
Take an incremental backup: vtctldclient BackupShard --incremental-from-pos=auto commerce/-
See the output:
commerce/- (zone1-2469782763): time:{seconds:1719505831 nanoseconds:910131961} file:"backup.go" line:152 value:"Starting backup 2024-06-27.163031.zone1-2469782763"
commerce/- (zone1-2469782763): time:{seconds:1719505831 nanoseconds:911110503} file:"builtinbackupengine.go" line:215 value:"Executing Backup at 2024-06-27 16:30:31.908396961 +0000 UTC m=+23.944406844 for keyspace/shard commerce/- on tablet zone1-2469782763, concurrency: 4, compress: true, incrementalFromPos: auto"
commerce/- (zone1-2469782763): time:{seconds:1719505831 nanoseconds:912518795} file:"builtinbackupengine.go" line:255 value:"auto evaluating incremental_from_pos"
commerce/- (zone1-2469782763): time:{seconds:1719505831 nanoseconds:915694545} file:"builtinbackupengine.go" line:262 value:"auto evaluated incremental_from_pos: MySQL56/9fa187c3-34a0-11ef-9a9f-6e3944149d19:1-41,a04f553d-34a0-11ef-9a7b-b201b4fa8fbc:1-31"
commerce/- (zone1-2469782763): time:{seconds:1719505831 nanoseconds:951089878} level:ERROR file:"backup.go" line:178 value:"backup is not usable, aborting it: [rpc error: code = Unknown desc = mysqlbinlog not found in any of /usr/{sbin,bin,libexec,scripts}\nreading timestamps from binlog files [vt-2469782763-bin.000004 vt-2469782763-bin.000005]]"
E0627 10:30:31.954715 27825 main.go:56] rpc error: code = Unknown desc = TabletManager.Backup on zone1-2469782763: reading timestamps from binlog files [vt-2469782763-bin.000004 vt-2469782763-bin.000005]: rpc error: code = Unknown desc = mysqlbinlog not found in any of /usr/{sbin,bin,libexec,scripts}
Reproduce the normal behavior
If you start again, and on step four you also modify the mysql80Compatible field to use the vitess/lite:v20.0.0 image, continue with the other steps, the last step will succeed.
Overview of the Issue
We deprecated the
vitess/liteimage for themysqldcontainer inv19.0.0. However, we later realised that the officialmysqlimage lacks themysqlbinlogbinary, leading to failures when running incremental backup with themysqldcontainer on an official or unofficial MySQL image. After attempting to solve the issue, inv20.0.0, the decision was made to retain themysqldbinary in thevitess/liteimage while we look for a stronger alternative, but the following steps were overlooked:mysqlbinlogissue in the v19.0.0 release notes.vitess/litefor themysqldcontainer.Warning
As of now, for users employing an official or unofficial MySQL images for the mysqld container and wanting to use incremental backups, it is recommended to use
vitess/lite:v20.0.0or another appropriate tag.Reproduction Steps
Reproduce the error
306_down_shard_0.yamlfile to include:vttablet(1024Miis good)vtctldclient BackupShard commerce/-vtctldclient BackupShard --incremental-from-pos=auto commerce/-Reproduce the normal behavior
If you start again, and on step four you also modify the
mysql80Compatiblefield to use thevitess/lite:v20.0.0image, continue with the other steps, the last step will succeed.Binary Version
Operating System and Environment details
Log Fragments
No response