羣裏看見一個問題,在備份的時候,報如下錯誤:
[root@B28-19-75 bak]# mysqldump -root -p --single-transaction --master-data=2 --databases db1 db2 db3 db4 db5 > db.sql
mysqldump: Error 1882: Query execution was interrupted, max_statement_time exceeded when dumping table `admin_operation_log` at row: 760155
我的max_statement_time參數在配置文件中是沒設置的,默認的。 羣友設置的是max_statement_time=500
max_statement_time作用:
作用:用於控制查詢在MySQL的最長執行時間,如果超過該參數設置時間,查詢將會自動失敗,默認是不限制。
建議:如果用戶希望控制數據庫中SQL的執行時間,則可以開啓該參數,單位是毫秒。
現象:ERROR 1882: Query execution was interrupted, max_statement_time exceeded
修改參數值:
mysql> set session max_statement_time =0;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%max_statement%';
+------------------------------------------+-------+
| Variable_name | Value |
+------------------------------------------+-------+
| max_statement_time | 0 |
| performance_schema_max_statement_classes | 179 |
+------------------------------------------+-------+
重新備份,不報錯:
[root@B28-19-75 bak]# mysqldump -root -p --single-transaction --master-data=2 --databases db1 db2 db3 db4 db5 > db.sql