vttablet

vttablet

The VTTablet server controls a running MySQL server.

Synopsis

The VTTablet server controls a running MySQL server. VTTablet supports two primary types of deployments:

  • Managed MySQL (most common)
  • External MySQL

In addition to these deployment types, a partially managed VTTablet is also possible by setting --disable_active_reparents.

Managed MySQL

In this mode, Vitess actively manages MySQL.

External MySQL.

In this mode, an external MySQL can be used such as AWS RDS, AWS Aurora, Google CloudSQL; or just an existing (vanilla) MySQL installation.

See “Unmanaged Tablet” for the full guide.

Even if a MySQL is external, you can still make vttablet perform some management functions. They are as follows:

  • --disable_active_reparents: If this flag is set, then any reparent or replica commands will not be allowed. These are InitShardPrimary, PlannedReparentShard, EmergencyReparentShard, and ReparentTablet. In this mode, you should use the TabletExternallyReparented command to inform vitess of the current primary.
  • --replication_connect_retry: This value is give to mysql when it connects a replica to the primary as the retry duration parameter.
  • --enable_replication_reporter: If this flag is set, then vttablet will transmit replica lag related information to the vtgates, which will allow it to balance load better. Additionally, enabling this will also cause vttablet to restart replication if it was stopped. However, it will do this only if --disable_active_reparents was not turned on.
  • --heartbeat_enable and --heartbeat_interval duration: cause vttablet to write heartbeats to the sidecar database. This information is also used by the replication reporter to assess replica lag.
  1. vttablet [flags]

Examples

  1. vttablet \
  2. --topo_implementation etcd2 \
  3. --topo_global_server_address localhost:2379 \
  4. --topo_global_root /vitess/ \
  5. --tablet-path $alias \
  6. --init_keyspace $keyspace \
  7. --init_shard $shard \
  8. --init_tablet_type $tablet_type \
  9. --port $port \
  10. --grpc_port $grpc_port \
  11. --service_map 'grpc-queryservice,grpc-tabletmanager,grpc-updatestream'
  12. `$alias` needs to be of the form: `<cell>-id`, and the cell should match one of the local cells that was created in the topology. The id can be left padded with zeroes: `cell-100` and `cell-000000100` are synonymous.

Options

  1. --alsologtostderr log to standard error as well as files
  2. --app_idle_timeout duration Idle timeout for app connections (default 1m0s)
  3. --app_pool_size int Size of the connection pool for app connections (default 40)
  4. --azblob_backup_account_key_file string Path to a file containing the Azure Storage account key; if this flag is unset, the environment variable VT_AZBLOB_ACCOUNT_KEY will be used as the key itself (NOT a file path).
  5. --azblob_backup_account_name string Azure Storage Account name for backups; if this flag is unset, the environment variable VT_AZBLOB_ACCOUNT_NAME will be used.
  6. --azblob_backup_buffer_size int The memory buffer size to use in bytes, per file or stripe, when streaming to Azure Blob Service. (default 104857600)
  7. --azblob_backup_container_name string Azure Blob Container Name.
  8. --azblob_backup_parallelism int Azure Blob operation parallelism (requires extra memory when increased -- a multiple of azblob_backup_buffer_size). (default 1)
  9. --azblob_backup_storage_root string Root prefix for all backup-related Azure Blobs; this should exclude both initial and trailing '/' (e.g. just 'a/b' not '/a/b/').
  10. --backup_engine_implementation string Specifies which implementation to use for creating new backups (builtin or xtrabackup). Restores will always be done with whichever engine created a given backup. (default "builtin")
  11. --backup_storage_block_size int if backup_storage_compress is true, backup_storage_block_size sets the byte size for each block while compressing (default is 250000). (default 250000)
  12. --backup_storage_compress if set, the backup files will be compressed. (default true)
  13. --backup_storage_implementation string Which backup storage implementation to use for creating and restoring backups.
  14. --backup_storage_number_blocks int if backup_storage_compress is true, backup_storage_number_blocks sets the number of blocks that can be processed, in parallel, before the writer blocks, during compression (default is 2). It should be equal to the number of CPUs available for compression. (default 2)
  15. --bind-address string Bind address for the server. If empty, the server will listen on all available unicast and anycast IP addresses of the local system.
  16. --binlog_host string PITR restore parameter: hostname/IP of binlog server.
  17. --binlog_password string PITR restore parameter: password of binlog server.
  18. --binlog_player_grpc_ca string the server ca to use to validate servers when connecting
  19. --binlog_player_grpc_cert string the cert to use to connect
  20. --binlog_player_grpc_crl string the server crl to use to validate server certificates when connecting
  21. --binlog_player_grpc_key string the key to use to connect
  22. --binlog_player_grpc_server_name string the server name to use to validate server certificate
  23. --binlog_player_protocol string the protocol to download binlogs from a vttablet (default "grpc")
  24. --binlog_port int PITR restore parameter: port of binlog server.
  25. --binlog_ssl_ca string PITR restore parameter: Filename containing TLS CA certificate to verify binlog server TLS certificate against.
  26. --binlog_ssl_cert string PITR restore parameter: Filename containing mTLS client certificate to present to binlog server as authentication.
  27. --binlog_ssl_key string PITR restore parameter: Filename containing mTLS client private key for use in binlog server authentication.
  28. --binlog_ssl_server_name string PITR restore parameter: TLS server name (common name) to verify against for the binlog server we are connecting to (If not set: use the hostname or IP supplied in --binlog_host).
  29. --binlog_user string PITR restore parameter: username of binlog server.
  30. --builtinbackup-file-read-buffer-size uint read files using an IO buffer of this many bytes. Golang defaults are used when set to 0.
  31. --builtinbackup-file-write-buffer-size uint write files using an IO buffer of this many bytes. Golang defaults are used when set to 0. (default 2097152)
  32. --builtinbackup_mysqld_timeout duration how long to wait for mysqld to shutdown at the start of the backup. (default 10m0s)
  33. --builtinbackup_progress duration how often to send progress updates when backing up large files. (default 5s)
  34. --catch-sigpipe catch and ignore SIGPIPE on stdout and stderr if specified
  35. --ceph_backup_storage_config string Path to JSON config file for ceph backup storage. (default "ceph_backup_config.json")
  36. --compression-engine-name string compressor engine used for compression. (default "pargzip")
  37. --compression-level int what level to pass to the compressor. (default 1)
  38. --config-file string Full path of the config file (with extension) to use. If set, --config-path, --config-type, and --config-name are ignored.
  39. --config-file-not-found-handling ConfigFileNotFoundHandling Behavior when a config file is not found. (Options: error, exit, ignore, warn) (default warn)
  40. --config-name string Name of the config file (without extension) to search for. (default "vtconfig")
  41. --config-path strings Paths to search for config files in. (default [$WORKDIR])
  42. --config-persistence-min-interval duration minimum interval between persisting dynamic config changes back to disk (if no change has occurred, nothing is done). (default 1s)
  43. --config-type string Config file type (omit to infer config type from file extension).
  44. --consolidator-stream-query-size int Configure the stream consolidator query size in bytes. Setting to 0 disables the stream consolidator. (default 2097152)
  45. --consolidator-stream-total-size int Configure the stream consolidator total size in bytes. Setting to 0 disables the stream consolidator. (default 134217728)
  46. --consul_auth_static_file string JSON File to read the topos/tokens from.
  47. --datadog-agent-host string host to send spans to. if empty, no tracing will be done
  48. --datadog-agent-port string port to send spans to. if empty, no tracing will be done
  49. --db-credentials-file string db credentials file; send SIGHUP to reload this file
  50. --db-credentials-server string db credentials server type ('file' - file implementation; 'vault' - HashiCorp Vault implementation) (default "file")
  51. --db-credentials-vault-addr string URL to Vault server
  52. --db-credentials-vault-path string Vault path to credentials JSON blob, e.g.: secret/data/prod/dbcreds
  53. --db-credentials-vault-role-mountpoint string Vault AppRole mountpoint; can also be passed using VAULT_MOUNTPOINT environment variable (default "approle")
  54. --db-credentials-vault-role-secretidfile string Path to file containing Vault AppRole secret_id; can also be passed using VAULT_SECRETID environment variable
  55. --db-credentials-vault-roleid string Vault AppRole id; can also be passed using VAULT_ROLEID environment variable
  56. --db-credentials-vault-timeout duration Timeout for vault API operations (default 10s)
  57. --db-credentials-vault-tls-ca string Path to CA PEM for validating Vault server certificate
  58. --db-credentials-vault-tokenfile string Path to file containing Vault auth token; token can also be passed using VAULT_TOKEN environment variable
  59. --db-credentials-vault-ttl duration How long to cache DB credentials from the Vault server (default 30m0s)
  60. --db_allprivs_password string db allprivs password
  61. --db_allprivs_use_ssl Set this flag to false to make the allprivs connection to not use ssl (default true)
  62. --db_allprivs_user string db allprivs user userKey (default "vt_allprivs")
  63. --db_app_password string db app password
  64. --db_app_use_ssl Set this flag to false to make the app connection to not use ssl (default true)
  65. --db_app_user string db app user userKey (default "vt_app")
  66. --db_appdebug_password string db appdebug password
  67. --db_appdebug_use_ssl Set this flag to false to make the appdebug connection to not use ssl (default true)
  68. --db_appdebug_user string db appdebug user userKey (default "vt_appdebug")
  69. --db_charset string Character set used for this tablet. (default "utf8mb4")
  70. --db_conn_query_info enable parsing and processing of QUERY_OK info fields
  71. --db_connect_timeout_ms int connection timeout to mysqld in milliseconds (0 for no timeout)
  72. --db_dba_password string db dba password
  73. --db_dba_use_ssl Set this flag to false to make the dba connection to not use ssl (default true)
  74. --db_dba_user string db dba user userKey (default "vt_dba")
  75. --db_erepl_password string db erepl password
  76. --db_erepl_use_ssl Set this flag to false to make the erepl connection to not use ssl (default true)
  77. --db_erepl_user string db erepl user userKey (default "vt_erepl")
  78. --db_filtered_password string db filtered password
  79. --db_filtered_use_ssl Set this flag to false to make the filtered connection to not use ssl (default true)
  80. --db_filtered_user string db filtered user userKey (default "vt_filtered")
  81. --db_flags uint Flag values as defined by MySQL.
  82. --db_flavor string Flavor overrid. Valid value is FilePos.
  83. --db_host string The host name for the tcp connection.
  84. --db_port int tcp port
  85. --db_repl_password string db repl password
  86. --db_repl_use_ssl Set this flag to false to make the repl connection to not use ssl (default true)
  87. --db_repl_user string db repl user userKey (default "vt_repl")
  88. --db_server_name string server name of the DB we are connecting to.
  89. --db_socket string The unix socket to connect on. If this is specified, host and port will not be used.
  90. --db_ssl_ca string connection ssl ca
  91. --db_ssl_ca_path string connection ssl ca path
  92. --db_ssl_cert string connection ssl certificate
  93. --db_ssl_key string connection ssl key
  94. --db_ssl_mode SslMode SSL mode to connect with. One of disabled, preferred, required, verify_ca & verify_identity.
  95. --db_tls_min_version string Configures the minimal TLS version negotiated when SSL is enabled. Defaults to TLSv1.2. Options: TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3.
  96. --dba_idle_timeout duration Idle timeout for dba connections (default 1m0s)
  97. --dba_pool_size int Size of the connection pool for dba connections (default 20)
  98. --degraded_threshold duration replication lag after which a replica is considered degraded (default 30s)
  99. --disable_active_reparents if set, do not allow active reparents. Use this to protect a cluster using external reparents.
  100. --emit_stats If set, emit stats to push-based monitoring and stats backends
  101. --enable-consolidator Synonym to -enable_consolidator (default true)
  102. --enable-consolidator-replicas Synonym to -enable_consolidator_replicas
  103. --enable-per-workload-table-metrics If true, query counts and query error metrics include a label that identifies the workload
  104. --enable-tx-throttler Synonym to -enable_tx_throttler
  105. --enable_consolidator This option enables the query consolidator. (default true)
  106. --enable_consolidator_replicas This option enables the query consolidator only on replicas.
  107. --enable_hot_row_protection If true, incoming transactions for the same row (range) will be queued and cannot consume all txpool slots.
  108. --enable_hot_row_protection_dry_run If true, hot row protection is not enforced but logs if transactions would have been queued.
  109. --enable_replication_reporter Use polling to track replication lag.
  110. --enable_transaction_limit If true, limit on number of transactions open at the same time will be enforced for all users. User trying to open a new transaction after exhausting their limit will receive an error immediately, regardless of whether there are available slots or not.
  111. --enable_transaction_limit_dry_run If true, limit on number of transactions open at the same time will be tracked for all users, but not enforced.
  112. --enable_tx_throttler If true replication-lag-based throttling on transactions will be enabled.
  113. --enforce-tableacl-config if this flag is true, vttablet will fail to start if a valid tableacl config does not exist
  114. --enforce_strict_trans_tables If true, vttablet requires MySQL to run with STRICT_TRANS_TABLES or STRICT_ALL_TABLES on. It is recommended to not turn this flag off. Otherwise MySQL may alter your supplied values before saving them to the database. (default true)
  115. --external-compressor string command with arguments to use when compressing a backup.
  116. --external-compressor-extension string extension to use when using an external compressor.
  117. --external-decompressor string command with arguments to use when decompressing a backup.
  118. --file_backup_storage_root string Root directory for the file backup storage.
  119. --filecustomrules string file based custom rule path
  120. --filecustomrules_watch set up a watch on the target file and reload query rules when it changes
  121. --gc_check_interval duration Interval between garbage collection checks (default 1h0m0s)
  122. --gc_purge_check_interval duration Interval between purge discovery checks (default 1m0s)
  123. --gcs_backup_storage_bucket string Google Cloud Storage bucket to use for backups.
  124. --gcs_backup_storage_root string Root prefix for all backup-related object names.
  125. --gh-ost-path string override default gh-ost binary full path
  126. --grpc_auth_mode string Which auth plugin implementation to use (eg: static)
  127. --grpc_auth_mtls_allowed_substrings string List of substrings of at least one of the client certificate names (separated by colon).
  128. --grpc_auth_static_client_creds string When using grpc_static_auth in the server, this file provides the credentials to use to authenticate with server.
  129. --grpc_auth_static_password_file string JSON File to read the users/passwords from.
  130. --grpc_bind_address string Bind address for gRPC calls. If empty, listen on all addresses.
  131. --grpc_ca string server CA to use for gRPC connections, requires TLS, and enforces client certificate check
  132. --grpc_cert string server certificate to use for gRPC connections, requires grpc_key, enables TLS
  133. --grpc_compression string Which protocol to use for compressing gRPC. Default: nothing. Supported: snappy
  134. --grpc_crl string path to a certificate revocation list in PEM format, client certificates will be further verified against this file during TLS handshake
  135. --grpc_enable_optional_tls enable optional TLS mode when a server accepts both TLS and plain-text connections on the same port
  136. --grpc_enable_tracing Enable gRPC tracing.
  137. --grpc_initial_conn_window_size int gRPC initial connection window size
  138. --grpc_initial_window_size int gRPC initial window size
  139. --grpc_keepalive_time duration After a duration of this time, if the client doesn't see any activity, it pings the server to see if the transport is still alive. (default 10s)
  140. --grpc_keepalive_timeout duration After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed. (default 10s)
  141. --grpc_key string server private key to use for gRPC connections, requires grpc_cert, enables TLS
  142. --grpc_max_connection_age duration Maximum age of a client connection before GoAway is sent. (default 2562047h47m16.854775807s)
  143. --grpc_max_connection_age_grace duration Additional grace period after grpc_max_connection_age, after which connections are forcibly closed. (default 2562047h47m16.854775807s)
  144. --grpc_max_message_size int Maximum allowed RPC message size. Larger messages will be rejected by gRPC with the error 'exceeding the max size'. (default 16777216)
  145. --grpc_port int Port to listen on for gRPC calls. If zero, do not listen.
  146. --grpc_prometheus Enable gRPC monitoring with Prometheus.
  147. --grpc_server_ca string path to server CA in PEM format, which will be combine with server cert, return full certificate chain to clients
  148. --grpc_server_initial_conn_window_size int gRPC server initial connection window size
  149. --grpc_server_initial_window_size int gRPC server initial window size
  150. --grpc_server_keepalive_enforcement_policy_min_time duration gRPC server minimum keepalive time (default 10s)
  151. --grpc_server_keepalive_enforcement_policy_permit_without_stream gRPC server permit client keepalive pings even when there are no active streams (RPCs)
  152. --health_check_interval duration Interval between health checks (default 20s)
  153. --heartbeat_enable If true, vttablet records (if master) or checks (if replica) the current time of a replication heartbeat in the sidecar database's heartbeat table. The result is used to inform the serving state of the vttablet via healthchecks.
  154. --heartbeat_interval duration How frequently to read and write replication heartbeat. (default 1s)
  155. --heartbeat_on_demand_duration duration If non-zero, heartbeats are only written upon consumer request, and only run for up to given duration following the request. Frequent requests can keep the heartbeat running consistently; when requests are infrequent heartbeat may completely stop between requests
  156. -h, --help help for vttablet
  157. --hot_row_protection_concurrent_transactions int Number of concurrent transactions let through to the txpool/MySQL for the same hot row. Should be > 1 to have enough 'ready' transactions in MySQL and benefit from a pipelining effect. (default 5)
  158. --hot_row_protection_max_global_queue_size int Global queue limit across all row (ranges). Useful to prevent that the queue can grow unbounded. (default 1000)
  159. --hot_row_protection_max_queue_size int Maximum number of BeginExecute RPCs which will be queued for the same row (range). (default 20)
  160. --init_db_name_override string (init parameter) override the name of the db used by vttablet. Without this flag, the db name defaults to vt_<keyspacename>
  161. --init_keyspace string (init parameter) keyspace to use for this tablet
  162. --init_shard string (init parameter) shard to use for this tablet
  163. --init_tablet_type string (init parameter) the tablet type to use for this tablet.
  164. --init_tags StringMap (init parameter) comma separated list of key:value pairs used to tag the tablet
  165. --init_timeout duration (init parameter) timeout to use for the init phase. (default 1m0s)
  166. --jaeger-agent-host string host and port to send spans to. if empty, no tracing will be done
  167. --keep_logs duration keep logs for this long (using ctime) (zero to keep forever)
  168. --keep_logs_by_mtime duration keep logs for this long (using mtime) (zero to keep forever)
  169. --lameduck-period duration keep running at least this long after SIGTERM before stopping (default 50ms)
  170. --lock-timeout duration Maximum time for which a shard/keyspace lock can be acquired for (default 45s)
  171. --lock_tables_timeout duration How long to keep the table locked before timing out (default 1m0s)
  172. --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
  173. --log_dir string If non-empty, write log files in this directory
  174. --log_err_stacks log stack traces for errors
  175. --log_queries Enable query logging to syslog.
  176. --log_queries_to_file string Enable query logging to the specified file
  177. --log_rotate_max_size uint size in bytes at which logs are rotated (glog.MaxSize) (default 1887436800)
  178. --logtostderr log to standard error instead of files
  179. --manifest-external-decompressor string command with arguments to store in the backup manifest when compressing a backup with an external compression engine.
  180. --max-stack-size int configure the maximum stack size in bytes (default 67108864)
  181. --max_concurrent_online_ddl int Maximum number of online DDL changes that may run concurrently (default 256)
  182. --migration_check_interval duration Interval between migration checks (default 1m0s)
  183. --mycnf-file string path to my.cnf, if reading all config params from there
  184. --mycnf_bin_log_path string mysql binlog path
  185. --mycnf_data_dir string data directory for mysql
  186. --mycnf_error_log_path string mysql error log path
  187. --mycnf_general_log_path string mysql general log path
  188. --mycnf_innodb_data_home_dir string Innodb data home directory
  189. --mycnf_innodb_log_group_home_dir string Innodb log group home directory
  190. --mycnf_master_info_file string mysql master.info file
  191. --mycnf_mysql_port int port mysql is listening on
  192. --mycnf_pid_file string mysql pid file
  193. --mycnf_relay_log_index_path string mysql relay log index path
  194. --mycnf_relay_log_info_path string mysql relay log info path
  195. --mycnf_relay_log_path string mysql relay log path
  196. --mycnf_secure_file_priv string mysql path for loading secure files
  197. --mycnf_server_id int mysql server id of the server (if specified, mycnf-file will be ignored)
  198. --mycnf_slow_log_path string mysql slow query log path
  199. --mycnf_socket_file string mysql socket file
  200. --mycnf_tmp_dir string mysql tmp directory
  201. --mysql_server_version string MySQL server version to advertise. (default "8.0.30-Vitess")
  202. --mysqlctl_mycnf_template string template file to use for generating the my.cnf file during server init
  203. --mysqlctl_socket string socket file to use for remote mysqlctl actions (empty for local actions)
  204. --onclose_timeout duration wait no more than this for OnClose handlers before stopping (default 10s)
  205. --onterm_timeout duration wait no more than this for OnTermSync handlers before stopping (default 10s)
  206. --opentsdb_uri string URI of opentsdb /api/put method
  207. --pid_file string If set, the process will write its pid to the named file, and delete it on graceful shutdown.
  208. --pitr_gtid_lookup_timeout duration PITR restore parameter: timeout for fetching gtid from timestamp. (default 1m0s)
  209. --pool_hostname_resolve_interval duration if set force an update to all hostnames and reconnect if changed, defaults to 0 (disabled)
  210. --port int port for the server
  211. --pprof strings enable profiling
  212. --pt-osc-path string override default pt-online-schema-change binary full path
  213. --publish_retry_interval duration how long vttablet waits to retry publishing the tablet record (default 30s)
  214. --purge_logs_interval duration how often try to remove old logs (default 1h0m0s)
  215. --query-log-stream-handler string URL handler for streaming queries log (default "/debug/querylog")
  216. --querylog-filter-tag string string that must be present in the query for it to be logged; if using a value as the tag, you need to disable query normalization
  217. --querylog-format string format for query logs ("text" or "json") (default "text")
  218. --querylog-row-threshold uint Number of rows a query has to return or affect before being logged; not useful for streaming queries. 0 means all queries will be logged.
  219. --queryserver-config-acl-exempt-acl string an acl that exempt from table acl checking (this acl is free to access any vitess tables).
  220. --queryserver-config-annotate-queries prefix queries to MySQL backend with comment indicating vtgate principal (user) and target tablet type
  221. --queryserver-config-enable-table-acl-dry-run If this flag is enabled, tabletserver will emit monitoring metrics and let the request pass regardless of table acl check results
  222. --queryserver-config-idle-timeout duration query server idle timeout (in seconds), vttablet manages various mysql connection pools. This config means if a connection has not been used in given idle timeout, this connection will be removed from pool. This effectively manages number of connection objects and optimize the pool performance. (default 30m0s)
  223. --queryserver-config-max-result-size int query server max result size, maximum number of rows allowed to return from vttablet for non-streaming queries. (default 10000)
  224. --queryserver-config-message-postpone-cap int query server message postpone cap is the maximum number of messages that can be postponed at any given time. Set this number to substantially lower than transaction cap, so that the transaction pool isn't exhausted by the message subsystem. (default 4)
  225. --queryserver-config-olap-transaction-timeout duration query server transaction timeout (in seconds), after which a transaction in an OLAP session will be killed (default 30s)
  226. --queryserver-config-passthrough-dmls query server pass through all dml statements without rewriting
  227. --queryserver-config-pool-conn-max-lifetime duration query server connection max lifetime (in seconds), vttablet manages various mysql connection pools. This config means if a connection has lived at least this long, it connection will be removed from pool upon the next time it is returned to the pool. (default 0s)
  228. --queryserver-config-pool-size int query server read pool size, connection pool is used by regular queries (non streaming, not in a transaction) (default 16)
  229. --queryserver-config-query-cache-memory int query server query cache size in bytes, maximum amount of memory to be used for caching. vttablet analyzes every incoming query and generate a query plan, these plans are being cached in a lru cache. This config controls the capacity of the lru cache. (default 33554432)
  230. --queryserver-config-query-pool-timeout duration query server query pool timeout (in seconds), it is how long vttablet waits for a connection from the query pool. If set to 0 (default) then the overall query timeout is used instead. (default 0s)
  231. --queryserver-config-query-pool-waiter-cap int query server query pool waiter limit, this is the maximum number of queries that can be queued waiting to get a connection (default 5000)
  232. --queryserver-config-query-timeout duration query server query timeout (in seconds), this is the query timeout in vttablet side. If a query takes more than this timeout, it will be killed. (default 30s)
  233. --queryserver-config-schema-change-signal query server schema signal, will signal connected vtgates that schema has changed whenever this is detected. VTGates will need to have -schema_change_signal enabled for this to work (default true)
  234. --queryserver-config-schema-reload-time duration query server schema reload time, how often vttablet reloads schemas from underlying MySQL instance in seconds. vttablet keeps table schemas in its own memory and periodically refreshes it from MySQL. This config controls the reload time. (default 30m0s)
  235. --queryserver-config-stream-buffer-size int query server stream buffer size, the maximum number of bytes sent from vttablet for each stream call. It's recommended to keep this value in sync with vtgate's stream_buffer_size. (default 32768)
  236. --queryserver-config-stream-pool-size int query server stream connection pool size, stream pool is used by stream queries: queries that return results to client in a streaming fashion (default 200)
  237. --queryserver-config-stream-pool-timeout duration query server stream pool timeout (in seconds), it is how long vttablet waits for a connection from the stream pool. If set to 0 (default) then there is no timeout. (default 0s)
  238. --queryserver-config-stream-pool-waiter-cap int query server stream pool waiter limit, this is the maximum number of streaming queries that can be queued waiting to get a connection
  239. --queryserver-config-strict-table-acl only allow queries that pass table acl checks
  240. --queryserver-config-terse-errors prevent bind vars from escaping in client error messages
  241. --queryserver-config-transaction-cap int query server transaction cap is the maximum number of transactions allowed to happen at any given point of a time for a single vttablet. E.g. by setting transaction cap to 100, there are at most 100 transactions will be processed by a vttablet and the 101th transaction will be blocked (and fail if it cannot get connection within specified timeout) (default 20)
  242. --queryserver-config-transaction-timeout duration query server transaction timeout (in seconds), a transaction will be killed if it takes longer than this value (default 30s)
  243. --queryserver-config-truncate-error-len int truncate errors sent to client if they are longer than this value (0 means do not truncate)
  244. --queryserver-config-txpool-timeout duration query server transaction pool timeout, it is how long vttablet waits if tx pool is full (default 1s)
  245. --queryserver-config-txpool-waiter-cap int query server transaction pool waiter limit, this is the maximum number of transactions that can be queued waiting to get a connection (default 5000)
  246. --queryserver-config-warn-result-size int query server result size warning threshold, warn if number of rows returned from vttablet for non-streaming queries exceeds this
  247. --queryserver-enable-settings-pool Enable pooling of connections with modified system settings (default true)
  248. --queryserver-enable-views Enable views support in vttablet.
  249. --queryserver_enable_online_ddl Enable online DDL. (default true)
  250. --redact-debug-ui-queries redact full queries and bind variables from debug UI
  251. --relay_log_max_items int Maximum number of rows for VReplication target buffering. (default 5000)
  252. --relay_log_max_size int Maximum buffer size (in bytes) for VReplication target buffering. If single rows are larger than this, a single row is buffered at a time. (default 250000)
  253. --remote_operation_timeout duration time to wait for a remote operation (default 15s)
  254. --replication_connect_retry duration how long to wait in between replica reconnect attempts. Only precise to the second. (default 10s)
  255. --restore-to-pos string (init incremental restore parameter) if set, run a point in time recovery that ends with the given position. This will attempt to use one full backup followed by zero or more incremental backups
  256. --restore-to-timestamp string (init incremental restore parameter) if set, run a point in time recovery that restores up to the given timestamp, if possible. Given timestamp in RFC3339 format. Example: '2006-01-02T15:04:05Z07:00'
  257. --restore_concurrency int (init restore parameter) how many concurrent files to restore at once (default 4)
  258. --restore_from_backup (init restore parameter) will check BackupStorage for a recent backup at startup and start there
  259. --restore_from_backup_ts string (init restore parameter) if set, restore the latest backup taken at or before this timestamp. Example: '2021-04-29.133050'
  260. --retain_online_ddl_tables duration How long should vttablet keep an old migrated table before purging it (default 24h0m0s)
  261. --s3_backup_aws_endpoint string endpoint of the S3 backend (region must be provided).
  262. --s3_backup_aws_region string AWS region to use. (default "us-east-1")
  263. --s3_backup_aws_retries int AWS request retries. (default -1)
  264. --s3_backup_force_path_style force the s3 path style.
  265. --s3_backup_log_level string determine the S3 loglevel to use from LogOff, LogDebug, LogDebugWithSigning, LogDebugWithHTTPBody, LogDebugWithRequestRetries, LogDebugWithRequestErrors. (default "LogOff")
  266. --s3_backup_server_side_encryption string server-side encryption algorithm (e.g., AES256, aws:kms, sse_c:/path/to/key/file).
  267. --s3_backup_storage_bucket string S3 bucket to use for backups.
  268. --s3_backup_storage_root string root prefix for all backup-related object names.
  269. --s3_backup_tls_skip_verify_cert skip the 'certificate is valid' check for SSL connections.
  270. --sanitize_log_messages Remove potentially sensitive information in tablet INFO, WARNING, and ERROR log messages such as query parameters.
  271. --schema-change-reload-timeout duration query server schema change reload timeout, this is how long to wait for the signaled schema reload operation to complete before giving up (default 30s)
  272. --schema-version-max-age-seconds int max age of schema version records to kept in memory by the vreplication historian
  273. --security_policy string the name of a registered security policy to use for controlling access to URLs - empty means allow all for anyone (built-in policies: deny-all, read-only)
  274. --service_map strings comma separated list of services to enable (or disable if prefixed with '-') Example: grpc-queryservice
  275. --serving_state_grace_period duration how long to pause after broadcasting health to vtgate, before enforcing a new serving state
  276. --shard_sync_retry_delay duration delay between retries of updates to keep the tablet and its shard record in sync (default 30s)
  277. --shutdown_grace_period duration how long to wait (in seconds) for queries and transactions to complete during graceful shutdown. (default 0s)
  278. --sql-max-length-errors int truncate queries in error logs to the given length (default unlimited)
  279. --sql-max-length-ui int truncate queries in debug UIs to the given length (default 512) (default 512)
  280. --srv_topo_cache_refresh duration how frequently to refresh the topology for cached entries (default 1s)
  281. --srv_topo_cache_ttl duration how long to use cached entries for topology (default 1s)
  282. --srv_topo_timeout duration topo server timeout (default 5s)
  283. --stats_backend string The name of the registered push-based monitoring/stats backend to use
  284. --stats_combine_dimensions string List of dimensions to be combined into a single "all" value in exported stats vars
  285. --stats_common_tags strings Comma-separated list of common tags for the stats backend. It provides both label and values. Example: label1:value1,label2:value2
  286. --stats_drop_variables string Variables to be dropped from the list of exported variables.
  287. --stats_emit_period duration Interval between emitting stats to all registered backends (default 1m0s)
  288. --statsd_address string Address for statsd client
  289. --statsd_sample_rate float Sample rate for statsd metrics (default 1)
  290. --stderrthreshold severity logs at or above this threshold go to stderr (default 1)
  291. --stream_health_buffer_size uint max streaming health entries to buffer per streaming health client (default 20)
  292. --table-acl-config string path to table access checker config file; send SIGHUP to reload this file
  293. --table-acl-config-reload-interval duration Ticker to reload ACLs. Duration flag, format e.g.: 30s. Default: do not reload
  294. --table-refresh-interval int interval in milliseconds to refresh tables in status page with refreshRequired class
  295. --table_gc_lifecycle string States for a DROP TABLE garbage collection cycle. Default is 'hold,purge,evac,drop', use any subset ('drop' implcitly always included) (default "hold,purge,evac,drop")
  296. --tablet-path string tablet alias
  297. --tablet_config string YAML file config for tablet
  298. --tablet_dir string The directory within the vtdataroot to store vttablet/mysql files. Defaults to being generated by the tablet uid.
  299. --tablet_grpc_ca string the server ca to use to validate servers when connecting
  300. --tablet_grpc_cert string the cert to use to connect
  301. --tablet_grpc_crl string the server crl to use to validate server certificates when connecting
  302. --tablet_grpc_key string the key to use to connect
  303. --tablet_grpc_server_name string the server name to use to validate server certificate
  304. --tablet_hostname string if not empty, this hostname will be assumed instead of trying to resolve it
  305. --tablet_manager_grpc_ca string the server ca to use to validate servers when connecting
  306. --tablet_manager_grpc_cert string the cert to use to connect
  307. --tablet_manager_grpc_concurrency int concurrency to use to talk to a vttablet server for performance-sensitive RPCs (like ExecuteFetchAs{Dba,AllPrivs,App}) (default 8)
  308. --tablet_manager_grpc_connpool_size int number of tablets to keep tmclient connections open to (default 100)
  309. --tablet_manager_grpc_crl string the server crl to use to validate server certificates when connecting
  310. --tablet_manager_grpc_key string the key to use to connect
  311. --tablet_manager_grpc_server_name string the server name to use to validate server certificate
  312. --tablet_manager_protocol string Protocol to use to make tabletmanager RPCs to vttablets. (default "grpc")
  313. --tablet_protocol string Protocol to use to make queryservice RPCs to vttablets. (default "grpc")
  314. --throttle_tablet_types string Comma separated VTTablet types to be considered by the throttler. default: 'replica'. example: 'replica,rdonly'. 'replica' aways implicitly included (default "replica")
  315. --topo_consul_lock_delay duration LockDelay for consul session. (default 15s)
  316. --topo_consul_lock_session_checks string List of checks for consul session. (default "serfHealth")
  317. --topo_consul_lock_session_ttl string TTL for consul session.
  318. --topo_consul_watch_poll_duration duration time of the long poll for watch queries. (default 30s)
  319. --topo_etcd_lease_ttl int Lease TTL for locks and leader election. The client will use KeepAlive to keep the lease going. (default 30)
  320. --topo_etcd_tls_ca string path to the ca to use to validate the server cert when connecting to the etcd topo server
  321. --topo_etcd_tls_cert string path to the client cert to use to connect to the etcd topo server, requires topo_etcd_tls_key, enables TLS
  322. --topo_etcd_tls_key string path to the client key to use to connect to the etcd topo server, enables TLS
  323. --topo_global_root string the path of the global topology data in the global topology server
  324. --topo_global_server_address string the address of the global topology server
  325. --topo_implementation string the topology implementation to use
  326. --topo_zk_auth_file string auth to use when connecting to the zk topo server, file contents should be <scheme>:<auth>, e.g., digest:user:pass
  327. --topo_zk_base_timeout duration zk base timeout (see zk.Connect) (default 30s)
  328. --topo_zk_max_concurrency int maximum number of pending requests to send to a Zookeeper server. (default 64)
  329. --topo_zk_tls_ca string the server ca to use to validate servers when connecting to the zk topo server
  330. --topo_zk_tls_cert string the cert to use to connect to the zk topo server, requires topo_zk_tls_key, enables TLS
  331. --topo_zk_tls_key string the key to use to connect to the zk topo server, enables TLS
  332. --topocustomrule_cell string topo cell for customrules file. (default "global")
  333. --topocustomrule_path string path for customrules file. Disabled if empty.
  334. --tracer string tracing service to use (default "noop")
  335. --tracing-enable-logging whether to enable logging in the tracing service
  336. --tracing-sampling-rate float sampling rate for the probabilistic jaeger sampler (default 0.1)
  337. --tracing-sampling-type string sampling strategy to use for jaeger. possible values are 'const', 'probabilistic', 'rateLimiting', or 'remote' (default "const")
  338. --track_schema_versions When enabled, vttablet will store versions of schemas at each position that a DDL is applied and allow retrieval of the schema corresponding to a position
  339. --transaction-log-stream-handler string URL handler for streaming transactions log (default "/debug/txlog")
  340. --transaction_limit_by_component Include CallerID.component when considering who the user is for the purpose of transaction limit.
  341. --transaction_limit_by_principal Include CallerID.principal when considering who the user is for the purpose of transaction limit. (default true)
  342. --transaction_limit_by_subcomponent Include CallerID.subcomponent when considering who the user is for the purpose of transaction limit.
  343. --transaction_limit_by_username Include VTGateCallerID.username when considering who the user is for the purpose of transaction limit. (default true)
  344. --transaction_limit_per_user float Maximum number of transactions a single user is allowed to use at any time, represented as fraction of -transaction_cap. (default 0.4)
  345. --twopc_abandon_age float time in seconds. Any unresolved transaction older than this time will be sent to the coordinator to be resolved.
  346. --twopc_coordinator_address string address of the (VTGate) process(es) that will be used to notify of abandoned transactions.
  347. --twopc_enable if the flag is on, 2pc is enabled. Other 2pc flags must be supplied.
  348. --tx-throttler-config string Synonym to -tx_throttler_config (default "target_replication_lag_sec:2 max_replication_lag_sec:10 initial_rate:100 max_increase:1 emergency_decrease:0.5 min_duration_between_increases_sec:40 max_duration_between_increases_sec:62 min_duration_between_decreases_sec:20 spread_backlog_across_sec:20 age_bad_rate_after_sec:180 bad_rate_increase:0.1 max_rate_approach_threshold:0.9")
  349. --tx-throttler-default-priority int Default priority assigned to queries that lack priority information (default 100)
  350. --tx-throttler-dry-run If present, the transaction throttler only records metrics about requests received and throttled, but does not actually throttle any requests.
  351. --tx-throttler-healthcheck-cells strings Synonym to -tx_throttler_healthcheck_cells
  352. --tx-throttler-tablet-types strings A comma-separated list of tablet types. Only tablets of this type are monitored for replication lag by the transaction throttler. Supported types are replica and/or rdonly. (default replica)
  353. --tx-throttler-topo-refresh-interval duration The rate that the transaction throttler will refresh the topology to find cells. (default 5m0s)
  354. --tx_throttler_config string The configuration of the transaction throttler as a text-formatted throttlerdata.Configuration protocol buffer message. (default "target_replication_lag_sec:2 max_replication_lag_sec:10 initial_rate:100 max_increase:1 emergency_decrease:0.5 min_duration_between_increases_sec:40 max_duration_between_increases_sec:62 min_duration_between_decreases_sec:20 spread_backlog_across_sec:20 age_bad_rate_after_sec:180 bad_rate_increase:0.1 max_rate_approach_threshold:0.9")
  355. --tx_throttler_healthcheck_cells strings A comma-separated list of cells. Only tabletservers running in these cells will be monitored for replication lag by the transaction throttler.
  356. --unhealthy_threshold duration replication lag after which a replica is considered unhealthy (default 2h0m0s)
  357. --v Level log level for V logs
  358. -v, --version print binary version
  359. --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
  360. --vreplication-parallel-insert-workers int Number of parallel insertion workers to use during copy phase. Set <= 1 to disable parallelism, or > 1 to enable concurrent insertion during copy phase. (default 1)
  361. --vreplication_copy_phase_duration duration Duration for each copy phase loop (before running the next catchup: default 1h) (default 1h0m0s)
  362. --vreplication_copy_phase_max_innodb_history_list_length int The maximum InnoDB transaction history that can exist on a vstreamer (source) before starting another round of copying rows. This helps to limit the impact on the source tablet. (default 1000000)
  363. --vreplication_copy_phase_max_mysql_replication_lag int The maximum MySQL replication lag (in seconds) that can exist on a vstreamer (source) before starting another round of copying rows. This helps to limit the impact on the source tablet. (default 43200)
  364. --vreplication_experimental_flags int (Bitmask) of experimental features in vreplication to enable (default 3)
  365. --vreplication_healthcheck_retry_delay duration healthcheck retry delay (default 5s)
  366. --vreplication_healthcheck_timeout duration healthcheck retry delay (default 1m0s)
  367. --vreplication_healthcheck_topology_refresh duration refresh interval for re-reading the topology (default 30s)
  368. --vreplication_heartbeat_update_interval int Frequency (in seconds, default 1, max 60) at which the time_updated column of a vreplication stream when idling (default 1)
  369. --vreplication_max_time_to_retry_on_error duration stop automatically retrying when we've had consecutive failures with the same error for this long after the first occurrence
  370. --vreplication_replica_lag_tolerance duration Replica lag threshold duration: once lag is below this we switch from copy phase to the replication (streaming) phase (default 1m0s)
  371. --vreplication_retry_delay duration delay before retrying a failed workflow event in the replication phase (default 5s)
  372. --vreplication_store_compressed_gtid Store compressed gtids in the pos column of the sidecar database's vreplication table
  373. --vreplication_tablet_type string comma separated list of tablet types used as a source (default "in_order:REPLICA,PRIMARY")
  374. --vstream-binlog-rotation-threshold int Byte size at which a VStreamer will attempt to rotate the source's open binary log before starting a GTID snapshot based stream (e.g. a ResultStreamer or RowStreamer) (default 67108864)
  375. --vstream_dynamic_packet_size Enable dynamic packet sizing for VReplication. This will adjust the packet size during replication to improve performance. (default true)
  376. --vstream_packet_size int Suggested packet size for VReplication streamer. This is used only as a recommendation. The actual packet size may be more or less than this amount. (default 250000)
  377. --vtgate_protocol string how to talk to vtgate (default "grpc")
  378. --vttablet_skip_buildinfo_tags string comma-separated list of buildinfo tags to skip from merging with --init_tags. each tag is either an exact match or a regular expression of the form '/regexp/'. (default "/.*/")
  379. --wait_for_backup_interval duration (init restore parameter) if this is greater than 0, instead of starting up empty when no backups are found, keep checking at this interval for a backup to appear
  380. --watch_replication_stream When enabled, vttablet will stream the MySQL replication stream from the local server, and use it to update schema when it sees a DDL.
  381. --xbstream_restore_flags string Flags to pass to xbstream command during restore. These should be space separated and will be added to the end of the command. These need to match the ones used for backup e.g. --compress / --decompress, --encrypt / --decrypt
  382. --xtrabackup_backup_flags string Flags to pass to backup command. These should be space separated and will be added to the end of the command
  383. --xtrabackup_prepare_flags string Flags to pass to prepare command. These should be space separated and will be added to the end of the command
  384. --xtrabackup_root_path string Directory location of the xtrabackup and xbstream executables, e.g., /usr/bin
  385. --xtrabackup_stream_mode string Which mode to use if streaming, valid values are tar and xbstream. Please note that tar is not supported in XtraBackup 8.0 (default "tar")
  386. --xtrabackup_stripe_block_size uint Size in bytes of each block that gets sent to a given stripe before rotating to the next stripe (default 102400)
  387. --xtrabackup_stripes uint If greater than 0, use data striping across this many destination files to parallelize data transfer and decompression
  388. --xtrabackup_user string User that xtrabackup will use to connect to the database server. This user must have all necessary privileges. For details, please refer to xtrabackup documentation.