MySQL 524 keeps four logs you manage (redo and undo logs are InnoDB internals, Redo Log):
The error log is always on: startups, crashes, replication errors. The Docker 514 image sends it to stderr (docker logs), Ubuntu 225 to /var/log/mysql/error.log; SQL can read performance_schema.error_log.
The general query log records every statement. Too heavy to leave on, it is off by default, but a minute of general_log = ON shows exactly what an application sends.
The slow query log keeps statements slower than long_query_time (Slow Query Log).
The binary log records every commit for recovery and replication (Point-in-Time Recovery-Replication and GTIDs). binlog_expire_logs_seconds purges files after 30 days, PURGE BINARY LOGS BEFORE ... sooner. A replica keeps received events in a relay log.
mysql_upgrade is gone (deprecated in 8.0.16, removed in 8.4): the server upgrades its dictionary and system tables at startup (--upgrade=AUTO) and reports in the error log:
docker run -d --name old84 -v upgrade-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret mysql:8.4
docker stop old84 && docker rm old84 # once it has initialized
docker run -d --name new97 -v upgrade-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret mysql:9.7
docker logs new97 2>&1 | grep -i upgrad | cut -c 29-... 1 [System] [MY-011090] [Server] Data dictionary upgrading from version '80300' to '90200'. 1 [System] [MY-013413] [Server] Data dictionary upgrade from version '80300' to '90200' completed. 4 [System] [MY-013381] [Server] Server upgrade from '80411' to '90702' started. 4 [System] [MY-013381] [Server] Server upgrade from '80411' to '90702' completed.
8.4 LTS to 9.7 LTS is a supported direct jump; back up and run util.checkForServerUpgrade() (mysql Client and Shell) first.