官术网_书友最值得收藏!

Using progress reporting in the mysql client

One relatively unknown feature of MariaDB is the ability of the client to show progress reports for long commands.

How to do it…

Let's get started by following the ensuing steps:

  1. 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
    
  2. The progress report line will update every 5 seconds until the operation is complete.

How it works...

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!

There's more…

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.

Disabling progress reporting

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.

Progress reporting in mytop

The mytop script included with MariaDB shows the progress of long running commands in the '%' column.

主站蜘蛛池模板: 临夏市| 刚察县| 山阳县| 荣昌县| 南部县| 蓬安县| 大渡口区| 家居| 鄂温| 台江县| 沙坪坝区| 桦甸市| 城步| 安吉县| 延寿县| 台安县| 东兰县| 阳曲县| 平邑县| 那曲县| 尤溪县| 富宁县| 长宁区| 章丘市| 阜城县| 上饶市| 宜宾县| 民权县| 四川省| 稻城县| 石首市| 琼海市| 利津县| 长兴县| 扎鲁特旗| 根河市| 大同县| 会理县| 邹平县| 石屏县| 海宁市|