| Bug #72667 | mysqldbexport shows Python exception if exceed net_read_timeout | ||
|---|---|---|---|
| Submitted: | 16 May 2014 11:23 | Modified: | 28 Jul 2014 9:33 |
| Reporter: | Shahriyar Rzayev | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Utilities | Severity: | S1 (Critical) |
| Version: | 1.3.6 | OS: | Linux (CentOS 6.5) |
| Assigned to: | CPU Architecture: | Any | |
[28 Jul 2014 9:33]
MySQL Verification Team
Hello Shahriyar, Thank you for the report. I could not repeat this issue with latest WB utilities. Could you please confirm with the latest version and report us if you are still seeing the issue. mysql> select @@net_read_timeout; +--------------------+ | @@net_read_timeout | +--------------------+ | 30 | +--------------------+ 1 row in set (0.00 sec) mysql> [ushastry@cluster-repo ~]$ mysqldbexport --server=root@localhost --export=both --rpl=master --all --output-file /tmp/test.sql --rpl-user=repl:'slavepass' -vvv --bulk-insert --locking=snapshot # WARNING: Specified output file already exists. The file will be overwritten. # Source on localhost: ... connected. # LOCK STRING: FLUSH TABLES WITH READ LOCK # UNLOCK STRING: UNLOCK TABLES Time: 201.32 sec [ushastry@cluster-repo ~]$ mysqluc Launching console ... Welcome to the MySQL Utilities Client (mysqluc) version 1.4.3 Copyright (c) 2010, 2014 Oracle and/or its affiliates. All rights reserved. This is a release of dual licensed MySQL Utilities. For the avoidance of doubt, this particular copy of the software is released under the version 2 of the GNU General Public License. MySQL Utilities is brought to you by Oracle. Type 'help' for a list of commands or press TAB twice for list of utilities. mysqluc> mysqldbexport --server=root@localhost --export=both --rpl=master --all --output-file /tmp/test.sql --rpl-user=repl:'slavepass' -vvv --bulk-insert --locking=snapshot # WARNING: Specified output file already exists. The file will be overwritten. # Source on localhost: ... connected. # LOCK STRING: FLUSH TABLES WITH READ LOCK # UNLOCK STRING: UNLOCK TABLES Time: 195.57 sec

Description: The version of utilities: [root@linuxsrv3 ~]# mysqluc Launching console ... Welcome to the MySQL Utilities Client (mysqluc) version 1.3.6 net_read_timeout value: mysql> select @@net_read_timeout; +--------------------+ | @@net_read_timeout | +--------------------+ | 30 | +--------------------+ 1 row in set (0,00 sec) Create user on MySQL 5.6.17: mysql> CREATE USER 'repl'@'%' IDENTIFIED BY '$Slavepass45#'; Query OK, 0 rows affected (0,00 sec) mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%' -> ; Query OK, 0 rows affected (0,00 sec) mysql> CREATE USER 'remote'@'%' IDENTIFIED BY '$Slavepass45#'; Query OK, 0 rows affected (0,00 sec) mysql> grant all on *.* to 'remote'@'%' with grant option; Query OK, 0 rows affected (0,00 sec) mysqldbexport syntax: [root@linuxsrv3 ~]# mysqldbexport --server=remote:'$Slavepass45#'@192.168.1.77:3306 --export=both --rpl=master --all --output-file /home/export7.sql --rpl-user=repl:'$Slavepass45#' -vvv --bulk-insert --locking=snapshot # WARNING: Specified output file already exists. The file will be overwritten. # Source on 192.168.1.77: ... connected. # LOCK STRING: FLUSH TABLES WITH READ LOCK Traceback (most recent call last): File "/usr/bin/mysqldbexport", line 354, in <module> export_databases(server_values, db_list, output_file, options) File "/usr/lib/python2.6/site-packages/mysql/utilities/command/dbexport.py", line 1032, in export_databases _export_data(source, server_values, db_list, output_file, options) File "/usr/lib/python2.6/site-packages/mysql/utilities/command/dbexport.py", line 466, in _export_data _export_table_data(source, table, output_file, options) File "/usr/lib/python2.6/site-packages/mysql/utilities/command/dbexport.py", line 581, in _export_table_data for data_rows in cur_table.retrieve_rows(retrieval_mode): File "/usr/lib/python2.6/site-packages/mysql/utilities/common/table.py", line 850, in retrieve_rows rows = cur.fetchall() File "/usr/lib/python2.6/site-packages/mysql/connector/cursor.py", line 892, in fetchall (rows, eof) = self._connection.get_rows() File "/usr/lib/python2.6/site-packages/mysql/connector/connection.py", line 584, in get_rows rows = self._protocol.read_text_result(self._socket, count) File "/usr/lib/python2.6/site-packages/mysql/connector/protocol.py", line 252, in read_text_result packet = sock.recv() File "/usr/lib/python2.6/site-packages/mysql/connector/network.py", line 206, in recv_plain raise errors.InterfaceError(errno=2013) mysql.connector.errors.InterfaceError: 2013: Lost connection to MySQL server during query How to repeat: All necessary steps provided in description. Suggested fix: Ofcourse informative error message but it will be better if in documentation will be a warning section related to this error.