Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-29 GMT+08:00

Exemplo

  1. 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)
  2. 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)
  3. 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