
MariaDB Cookbook
By :

One relatively unknown feature of MariaDB is the ability of the client to show progress reports for long commands.
Let's get started by following the ensuing steps:
There's nothing to configure as progress reporting is turned on by default and works with the ALTER TABLE
, ADD INDEX
, DROP INDEX
, and LOAD DATA INFILE
commands. It also works with the CHECK TABLE
, REPAIR TABLE
, ANALYZE TABLE
, and OPTIMIZE TABLE
commands when using the Aria storage engine. For example, if we needed to change a large table from using the MyISAM storage engine to the Aria storage engine, it might look similar to the following command:
MariaDB [test]> ALTER TABLE my_big_table engine=aria; Stage: 1 of 2 'copy to tmp table' 29.26% of stage done
The progress report line will update every 5 seconds until the operation is complete.
For the clients that support it, mysqld
(the MariaDB server) sends progress report messages every 5 seconds. The mysql
command-line client supports it, as does the mytop
shell script included with MariaDB.
You can easily add support for progress messages on other clients by following the instructions at https://mariadb.com/kb/en/progress-reporting/. If our favorite client application does not support progress reporting, encourage the developers to add it!
We can change the default 5 second update by setting the progress_report_time
variable to a value greater than 5
. Values ranging from 1
to 5
are ignored.
To disable progress reporting, set the progress_report_time
variable to 0
or use the --disable-progress-reports
option when launching the mysql
client. Progress reporting is automatically disabled in batch mode.
The mytop
script included with MariaDB shows the progress of long running commands in the '%'
column.
Change the font size
Change margin width
Change background colour