DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) mysql-threads

Info Catalog (mysql.info) mysql-internals (mysql.info) mysql-internals (mysql.info) mysql-test-suite
 
 24.1.1 MySQL Threads
 --------------------
 
 The MySQL server creates the following threads:
 
    * One thread manages TCP/IP file connection requests and creates a
      new dedicated thread to handle the authentication and SQL
      statement processing for each connection. (On Unix, this thread
      also manages Unix socket file connection requests.) On Windows, a
      similar thread manages shared-memory connection requests, and on
      Windows NT-based systems, a thread manages named-pipe connection
      requests.  Every client connection has its own thread, although the
      manager threads try to avoid creating threads by consulting the
      thread cache first to see whether a cached thread can be used for
      a new connection.
 
    * On Windows NT, there is a named pipe handler thread that does the
      same work as the TCP/IP connection thread on named pipe connect
      requests.
 
    * On a master replication server, slave server connections are like
      client connections: There is one thread per connected slave.
 
    * On a slave replication server, an I/O thread is started to connect
      to the master server and read updates from it. An SQL thread is
      started to apply updates read from the master.  These two threads
      run independently and can be started and stopped independently.
 
    * The signal thread handles all signals. This thread also normally
      handles alarms and calls `process_alarm()' to force timeouts on
      connections that have been idle too long.
 
    * If `mysqld' is compiled with -DUSE_ALARM_THREAD, a dedicated
      thread that handles alarms is created. This is only used on some
      systems where there are problems with `sigwait()' or if you want
      to use the `thr_alarm()' code in your application without a
      dedicated signal handling thread.
 
    * If the server is started with the -flush_time=VAL option, a
      dedicated thread is created to flush all tables every VAL seconds.
 
    * Each table for which `INSERT DELAYED' statements are issued gets
      its own thread.
 
 `mysqladmin processlist' only shows the connection, `INSERT DELAYED',
 and replication threads.
 
Info Catalog (mysql.info) mysql-internals (mysql.info) mysql-internals (mysql.info) mysql-test-suite
automatically generated byinfo2html