Exemplo
- Defina idle_transaction_timeout como 10, idle_readonly_transaction_timeout como 0 e idle_write_transaction_timeout como 0.
- Transações somente leitura
mysql> begin; Query OK, 0 rows affected (0.00 sec)
Aguarde 10 segundos e execute uma instrução de consulta novamente. As seguintes informações são exibidas.
mysql> select * from t1; ERROR 2013 (HY000): Lost connection to MySQL server during query
- Transação de leitura/gravação
Execute a instrução begin para iniciar uma transação e execute uma instrução de consulta. As seguintes informações são exibidas.
mysql> select * from t1; +---------+ | col_int | +---------+ | 1 | +---------+ 1 row in set (0.00 sec) mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> insert into t1 values(2); Query OK, 1 row affected (0.00 sec)
Aguarde 10 segundos e execute uma instrução de consulta novamente. As seguintes informações são exibidas.
mysql> select * from t1; ERROR 2013 (HY000): Lost connection to MySQL server during query
Reconecte a transação ao banco de dados e execute uma instrução de consulta. Se as informações a seguir forem exibidas, a transação foi revertida.
mysql> select * from t1; +---------+ | col_int | +---------+ | 1 | +---------+ 1 row in set (0.00 sec)
- Transações somente leitura
- Defina idle_write_transaction_timeout como 15.
- Transações de leitura/gravação
Execute a instrução begin para iniciar uma transação e execute uma instrução de consulta. As seguintes informações são exibidas.
mysql> select * from t1; +---------+ | col_int | +---------+ | 2 | +---------+ 1 row in set (0.00 sec) mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> insert into t1 values(3); Query OK, 1 row affected (0.00 sec)
Aguarde 15 segundos e execute uma instrução de consulta novamente. As seguintes informações são exibidas.
mysql> select * from t1; ERROR 2013 (HY000): Lost connection to MySQL server during query
Reconecte a transação ao banco de dados e execute uma instrução de consulta. Se as informações a seguir forem exibidas, a transação foi revertida.
mysql> select * from t1; +---------+ | col_int | +---------+ | 2 | +---------+ 1 row in set (0.01 sec)
- Transações de leitura/gravação
- Defina idle_readonly_transaction_timeout como 15.
- Transações somente leitura
mysql> begin; Query OK, 0 rows affected (0.00 sec)
Aguarde 15 segundos e execute uma instrução de consulta novamente. As seguintes informações são exibidas.
mysql> select * from t1; ERROR 2013 (HY000): Lost connection to MySQL server during query
- Transações somente leitura