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:

  • --unmanaged: This flag indicates that this tablet is running in unmanaged mode. In this mode, any reparent or replica commands are not allowed. These are InitShardPrimary, PlannedReparentShard, EmergencyReparentShard, and ReparentTablet. 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.
  • --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.
vttablet [flags]

Examples #


vttablet \
	--topo-implementation etcd2 \
	--topo-global-server-address localhost:2379 \
	--topo-global-root /vitess/ \
	--tablet-path $alias \
	--init-keyspace $keyspace \
	--init-shard $shard \
	--init-tablet-type $tablet_type \
	--port $port \
	--grpc-port $grpc_port \
	--service-map 'grpc-queryservice,grpc-tabletmanager,grpc-updatestream'

`$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 #

      --alsologtostderr                                                  log to standard error as well as files
      --app-idle-timeout duration                                        Idle timeout for app connections (default 1m0s)
      --app-pool-size int                                                Size of the connection pool for app connections (default 40)
      --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).
      --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.
      --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)
      --azblob-backup-container-name string                              Azure Blob Container Name.
      --azblob-backup-parallelism int                                    Azure Blob operation parallelism (requires extra memory when increased -- a multiple of azblob-backup-buffer-size). (default 1)
      --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/').
      --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")
      --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)
      --backup-storage-compress                                          if set, the backup files will be compressed. (default true)
      --backup-storage-implementation string                             Which backup storage implementation to use for creating and restoring backups.
      --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)
      --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.
      --binlog-in-memory-decompressor-max-size uint                      This value sets the uncompressed transaction payload size at which we switch from in-memory buffer based decompression to the slower streaming mode. (default 134217728)
      --binlog-player-grpc-ca string                                     the server ca to use to validate servers when connecting
      --binlog-player-grpc-cert string                                   the cert to use to connect
      --binlog-player-grpc-crl string                                    the server crl to use to validate server certificates when connecting
      --binlog-player-grpc-key string                                    the key to use to connect
      --binlog-player-grpc-server-name string                            the server name to use to validate server certificate
      --binlog-player-protocol string                                    the protocol to download binlogs from a vttablet (default "grpc")
      --builtinbackup-file-read-buffer-size uint                         read files using an IO buffer of this many bytes. Golang defaults are used when set to 0.
      --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)
      --builtinbackup-incremental-restore-path string                    the directory where incremental restore files, namely binlog files, are extracted to. In k8s environments, this should be set to a directory that is shared between the vttablet and mysqld pods. The path should exist. When empty, the default OS temp dir is assumed.
      --builtinbackup-mysqld-timeout duration                            how long to wait for mysqld to shutdown at the start of the backup. (default 10m0s)
      --builtinbackup-progress duration                                  how often to send progress updates when backing up large files. (default 5s)
      --catch-sigpipe                                                    catch and ignore SIGPIPE on stdout and stderr if specified
      --ceph-backup-storage-config string                                Path to JSON config file for ceph backup storage. (default "ceph_backup_config.json")
      --compression-engine-name string                                   compressor engine used for compression. (default "pargzip")
      --compression-level int                                            what level to pass to the compressor. (default 1)
      --config-file string                                               Full path of the config file (with extension) to use. If set, --config-path, --config-type, and --config-name are ignored.
      --config-file-not-found-handling ConfigFileNotFoundHandling        Behavior when a config file is not found. (Options: error, exit, ignore, warn) (default warn)
      --config-name string                                               Name of the config file (without extension) to search for. (default "vtconfig")
      --config-path strings                                              Paths to search for config files in. (default [<WORKDIR>])
      --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)
      --config-type string                                               Config file type (omit to infer config type from file extension).
      --consolidator-query-waiter-cap int                                Configure the maximum number of clients allowed to wait on the consolidator.
      --consolidator-stream-query-size int                               Configure the stream consolidator query size in bytes. Setting to 0 disables the stream consolidator. (default 2097152)
      --consolidator-stream-total-size int                               Configure the stream consolidator total size in bytes. Setting to 0 disables the stream consolidator. (default 134217728)
      --consul-auth-static-file string                                   JSON File to read the topos/tokens from.
      --datadog-agent-host string                                        host to send spans to. if empty, no tracing will be done
      --datadog-agent-port string                                        port to send spans to. if empty, no tracing will be done
      --datadog-trace-debug-mode                                         enable debug mode for datadog tracing
      --db-allprivs-password string                                      db allprivs password
      --db-allprivs-use-ssl                                              Set this flag to false to make the allprivs connection to not use ssl (default true)
      --db-allprivs-user string                                          db allprivs user userKey (default "vt_allprivs")
      --db-app-password string                                           db app password
      --db-app-use-ssl                                                   Set this flag to false to make the app connection to not use ssl (default true)
      --db-app-user string                                               db app user userKey (default "vt_app")
      --db-appdebug-password string                                      db appdebug password
      --db-appdebug-use-ssl                                              Set this flag to false to make the appdebug connection to not use ssl (default true)
      --db-appdebug-user string                                          db appdebug user userKey (default "vt_appdebug")
      --db-charset string                                                Character set/collation used for this tablet. Make sure to configure this to a charset/collation supported by the lowest MySQL version in your environment. (default "utf8mb4")
      --db-conn-query-info                                               enable parsing and processing of QUERY_OK info fields
      --db-connect-timeout-ms int                                        connection timeout to mysqld in milliseconds (0 for no timeout)
      --db-credentials-file string                                       db credentials file; send SIGHUP to reload this file
      --db-credentials-server string                                     db credentials server type ('file' - file implementation; 'vault' - HashiCorp Vault implementation) (default "file")
      --db-credentials-vault-addr string                                 URL to Vault server
      --db-credentials-vault-path string                                 Vault path to credentials JSON blob, e.g.: secret/data/prod/dbcreds
      --db-credentials-vault-role-mountpoint string                      Vault AppRole mountpoint; can also be passed using VAULT_MOUNTPOINT environment variable (default "approle")
      --db-credentials-vault-role-secretidfile string                    Path to file containing Vault AppRole secret_id; can also be passed using VAULT_SECRETID environment variable
      --db-credentials-vault-roleid string                               Vault AppRole id; can also be passed using VAULT_ROLEID environment variable
      --db-credentials-vault-timeout duration                            Timeout for vault API operations (default 10s)
      --db-credentials-vault-tls-ca string                               Path to CA PEM for validating Vault server certificate
      --db-credentials-vault-tokenfile string                            Path to file containing Vault auth token; token can also be passed using VAULT_TOKEN environment variable
      --db-credentials-vault-ttl duration                                How long to cache DB credentials from the Vault server (default 30m0s)
      --db-dba-password string                                           db dba password
      --db-dba-use-ssl                                                   Set this flag to false to make the dba connection to not use ssl (default true)
      --db-dba-user string                                               db dba user userKey (default "vt_dba")
      --db-erepl-password string                                         db erepl password
      --db-erepl-use-ssl                                                 Set this flag to false to make the erepl connection to not use ssl (default true)
      --db-erepl-user string                                             db erepl user userKey (default "vt_erepl")
      --db-filtered-password string                                      db filtered password
      --db-filtered-use-ssl                                              Set this flag to false to make the filtered connection to not use ssl (default true)
      --db-filtered-user string                                          db filtered user userKey (default "vt_filtered")
      --db-flags uint                                                    Flag values as defined by MySQL.
      --db-flavor string                                                 Flavor overrid. Valid value is FilePos.
      --db-host string                                                   The host name for the tcp connection.
      --db-port int                                                      tcp port
      --db-repl-password string                                          db repl password
      --db-repl-use-ssl                                                  Set this flag to false to make the repl connection to not use ssl (default true)
      --db-repl-user string                                              db repl user userKey (default "vt_repl")
      --db-server-name string                                            server name of the DB we are connecting to.
      --db-socket string                                                 The unix socket to connect on. If this is specified, host and port will not be used.
      --db-ssl-ca string                                                 connection ssl ca
      --db-ssl-ca-path string                                            connection ssl ca path
      --db-ssl-cert string                                               connection ssl certificate
      --db-ssl-key string                                                connection ssl key
      --db-ssl-mode SslMode                                              SSL mode to connect with. One of disabled, preferred, required, verify_ca & verify_identity.
      --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.
      --dba-idle-timeout duration                                        Idle timeout for dba connections (default 1m0s)
      --dba-pool-size int                                                Size of the connection pool for dba connections (default 20)
      --degraded-threshold duration                                      replication lag after which a replica is considered degraded (default 30s)
      --disk-write-dir string                                            if provided, tablet will attempt to write a file to this directory to check if the disk is stalled
      --disk-write-interval duration                                     how often to write to the disk to check whether it is stalled (default 5s)
      --disk-write-timeout duration                                      if writes exceed this duration, the disk is considered stalled (default 30s)
      --emit-stats                                                       If set, emit stats to push-based monitoring and stats backends
      --enable-consolidator                                              This option enables the query consolidator. (default true)
      --enable-consolidator-replicas                                     This option enables the query consolidator only on replicas.
      --enable-hot-row-protection                                        If true, incoming transactions for the same row (range) will be queued and cannot consume all txpool slots.
      --enable-hot-row-protection-dry-run                                If true, hot row protection is not enforced but logs if transactions would have been queued.
      --enable-per-workload-table-metrics                                If true, query counts and query error metrics include a label that identifies the workload
      --enable-replication-reporter                                      Use polling to track replication lag.
      --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.
      --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.
      --enable-tx-throttler                                              If true replication-lag-based throttling on transactions will be enabled.
      --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)
      --enforce-tableacl-config                                          if this flag is true, vttablet will fail to start if a valid tableacl config does not exist
      --external-compressor string                                       command with arguments to use when compressing a backup.
      --external-compressor-extension string                             extension to use when using an external compressor.
      --external-decompressor string                                     command with arguments to use when decompressing a backup.
      --file-backup-storage-root string                                  Root directory for the file backup storage.
      --filecustomrules string                                           file based custom rule path
      --filecustomrules-watch                                            set up a watch on the target file and reload query rules when it changes
      --gc-check-interval duration                                       Interval between garbage collection checks (default 1h0m0s)
      --gc-purge-check-interval duration                                 Interval between purge discovery checks (default 1m0s)
      --gcs-backup-storage-bucket string                                 Google Cloud Storage bucket to use for backups.
      --gcs-backup-storage-root string                                   Root prefix for all backup-related object names.
      --grpc-auth-mode string                                            Which auth plugin implementation to use (eg: static)
      --grpc-auth-mtls-allowed-substrings string                         List of substrings of at least one of the client certificate names (separated by colon).
      --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.
      --grpc-auth-static-password-file string                            JSON File to read the users/passwords from.
      --grpc-bind-address string                                         Bind address for gRPC calls. If empty, listen on all addresses.
      --grpc-ca string                                                   server CA to use for gRPC connections, requires TLS, and enforces client certificate check
      --grpc-cert string                                                 server certificate to use for gRPC connections, requires grpc-key, enables TLS
      --grpc-compression string                                          Which protocol to use for compressing gRPC. Default: nothing. Supported: snappy
      --grpc-crl string                                                  path to a certificate revocation list in PEM format, client certificates will be further verified against this file during TLS handshake
      --grpc-dial-concurrency-limit int                                  Maximum concurrency of grpc dial operations. This should be less than the golang max thread limit of 10000. (default 1024)
      --grpc-enable-optional-tls                                         enable optional TLS mode when a server accepts both TLS and plain-text connections on the same port
      --grpc-enable-orca-metrics                                         gRPC server option to enable sending ORCA metrics to clients for load balancing
      --grpc-enable-tracing                                              Enable gRPC tracing.
      --grpc-initial-conn-window-size int                                gRPC initial connection window size
      --grpc-initial-window-size int                                     gRPC initial window size
      --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)
      --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)
      --grpc-key string                                                  server private key to use for gRPC connections, requires grpc-cert, enables TLS
      --grpc-max-connection-age duration                                 Maximum age of a client connection before GoAway is sent. (default 2562047h47m16.854775807s)
      --grpc-max-connection-age-grace duration                           Additional grace period after grpc-max-connection-age, after which connections are forcibly closed. (default 2562047h47m16.854775807s)
      --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)
      --grpc-port int                                                    Port to listen on for gRPC calls. If zero, do not listen.
      --grpc-prometheus                                                  Enable gRPC monitoring with Prometheus.
      --grpc-server-ca string                                            path to server CA in PEM format, which will be combine with server cert, return full certificate chain to clients
      --grpc-server-initial-conn-window-size int                         gRPC server initial connection window size
      --grpc-server-initial-window-size int                              gRPC server initial window size
      --grpc-server-keepalive-enforcement-policy-min-time duration       gRPC server minimum keepalive time (default 10s)
      --grpc-server-keepalive-enforcement-policy-permit-without-stream   gRPC server permit client keepalive pings even when there are no active streams (RPCs)
      --grpc-server-keepalive-time duration                              After a duration of this time, if the server doesn't see any activity, it pings the client to see if the transport is still alive. (default 10s)
      --grpc-server-keepalive-timeout duration                           After having pinged for keepalive check, the server waits for a duration of Timeout and if no activity is seen even after that the connection is closed. (default 10s)
      --health-check-interval duration                                   Interval between health checks (default 20s)
      --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.
      --heartbeat-interval duration                                      How frequently to read and write replication heartbeat. (default 1s)
      --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
  -h, --help                                                             help for vttablet
      --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)
      --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)
      --hot-row-protection-max-queue-size int                            Maximum number of BeginExecute RPCs which will be queued for the same row (range). (default 20)
      --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>
      --init-keyspace string                                             (init parameter) keyspace to use for this tablet
      --init-shard string                                                (init parameter) shard to use for this tablet
      --init-tablet-type string                                          (init parameter) tablet type to use for this tablet. Valid values are: PRIMARY, REPLICA, SPARE, and RDONLY. The default is REPLICA.
      --init-tags StringMap                                              (init parameter) comma separated list of key:value pairs used to tag the tablet
      --init-timeout duration                                            (init parameter) timeout to use for the init phase. (default 1m0s)
      --jaeger-agent-host string                                         host and port to send spans to. if empty, no tracing will be done
      --keep-logs duration                                               keep logs for this long (using ctime) (zero to keep forever)
      --keep-logs-by-mtime duration                                      keep logs for this long (using mtime) (zero to keep forever)
      --lameduck-period duration                                         keep running at least this long after SIGTERM before stopping (default 50ms)
      --lock-tables-timeout duration                                     How long to keep the table locked before timing out (default 1m0s)
      --lock-timeout duration                                            Maximum time to wait when attempting to acquire a lock from the topo server (default 45s)
      --log-err-stacks                                                   log stack traces for errors
      --log-queries                                                      Enable query logging to syslog.
      --log-queries-to-file string                                       Enable query logging to the specified file
      --log-rotate-max-size uint                                         size in bytes at which logs are rotated (glog.MaxSize) (default 1887436800)
      --log-backtrace-at traceLocations                                  when logging hits line file:N, emit a stack trace
      --log-dir string                                                   If non-empty, write log files in this directory
      --logtostderr                                                      log to standard error instead of files
      --manifest-external-decompressor string                            command with arguments to store in the backup manifest when compressing a backup with an external compression engine.
      --max-concurrent-online-ddl int                                    Maximum number of online DDL changes that may run concurrently (default 256)
      --max-stack-size int                                               configure the maximum stack size in bytes (default 67108864)
      --migration-check-interval duration                                Interval between migration checks (default 1m0s)
      --mycnf-bin-log-path string                                        mysql binlog path
      --mycnf-data-dir string                                            data directory for mysql
      --mycnf-error-log-path string                                      mysql error log path
      --mycnf-file string                                                path to my.cnf, if reading all config params from there
      --mycnf-general-log-path string                                    mysql general log path
      --mycnf-innodb-data-home-dir string                                Innodb data home directory
      --mycnf-innodb-log-group-home-dir string                           Innodb log group home directory
      --mycnf-master-info-file string                                    mysql master.info file
      --mycnf-mysql-port int                                             port mysql is listening on
      --mycnf-pid-file string                                            mysql pid file
      --mycnf-relay-log-index-path string                                mysql relay log index path
      --mycnf-relay-log-info-path string                                 mysql relay log info path
      --mycnf-relay-log-path string                                      mysql relay log path
      --mycnf-secure-file-priv string                                    mysql path for loading secure files
      --mycnf-server-id int                                              mysql server id of the server (if specified, mycnf-file will be ignored)
      --mycnf-slow-log-path string                                       mysql slow query log path
      --mycnf-socket-file string                                         mysql socket file
      --mycnf-tmp-dir string                                             mysql tmp directory
      --mysql-server-version string                                      MySQL server version to advertise. (default "8.4.6-Vitess")
      --mysql-shell-backup-location string                               location where the backup will be stored
      --mysql-shell-dump-flags string                                    flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST (default "{\"threads\": 4}")
      --mysql-shell-flags string                                         execution flags to pass to mysqlsh binary to be used during dump/load (default "--defaults-file=/dev/null --js -h localhost")
      --mysql-shell-load-flags string                                    flags to pass to mysql shell load utility. This should be a JSON string (default "{\"threads\": 4, \"loadUsers\": true, \"updateGtidSet\": \"replace\", \"skipBinlog\": true, \"progressFile\": \"\"}")
      --mysql-shell-should-drain                                         decide if we should drain while taking a backup or continue to serving traffic
      --mysql-shell-speedup-restore                                      speed up restore by disabling redo logging and double write buffer during the restore process
      --mysql-shutdown-timeout duration                                  Timeout to use when MySQL is being shut down. (default 5m0s)
      --mysqlctl-mycnf-template string                                   template file to use for generating the my.cnf file during server init
      --mysqlctl-socket string                                           socket file to use for remote mysqlctl actions (empty for local actions)
      --onclose-timeout duration                                         wait no more than this for OnClose handlers before stopping (default 10s)
      --onterm-timeout duration                                          wait no more than this for OnTermSync handlers before stopping (default 10s)
      --opentsdb-uri string                                              URI of opentsdb /api/put method
      --pid-file string                                                  If set, the process will write its pid to the named file, and delete it on graceful shutdown.
      --pool-hostname-resolve-interval duration                          if set force an update to all hostnames and reconnect if changed, defaults to 0 (disabled)
      --port int                                                         port for the server
      --pprof strings                                                    enable profiling
      --pprof-http                                                       enable pprof http endpoints
      --publish-retry-interval duration                                  how long vttablet waits to retry publishing the tablet record (default 30s)
      --purge-logs-interval duration                                     how often try to remove old logs (default 1h0m0s)
      --query-log-stream-handler string                                  URL handler for streaming queries log (default "/debug/querylog")
      --query-throttler-config-refresh-interval duration                 How frequently to refresh configuration for the query throttler (default 1m0s)
      --querylog-emit-on-any-condition-met                               Emit to query log when any of the conditions (row-threshold, time-threshold, filter-tag) is met (default false)
      --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
      --querylog-format string                                           format for query logs ("text" or "json") (default "text")
      --querylog-mode string                                             Mode for logging queries. "error" will only log queries that return an error. Otherwise all queries will be logged. (default "all")
      --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.
      --querylog-sample-rate float                                       Sample rate for logging queries. Value must be between 0.0 (no logging) and 1.0 (all queries)
      --querylog-time-threshold duration                                 Execution time duration a query needs to run over before being logged; time duration expressed in the form recognized by time.ParseDuration; not useful for streaming queries.
      --queryserver-config-acl-exempt-acl string                         an acl that exempt from table acl checking (this acl is free to access any vitess tables).
      --queryserver-config-annotate-queries                              prefix queries to MySQL backend with comment indicating vtgate principal (user) and target tablet type
      --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
      --queryserver-config-idle-timeout duration                         query server idle timeout, 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)
      --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)
      --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)
      --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)
      --queryserver-config-passthrough-dmls                              query server pass through all dml statements without rewriting
      --queryserver-config-pool-conn-max-lifetime duration               query server connection max lifetime, 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.
      --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)
      --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)
      --queryserver-config-query-pool-max-idle-count int                 query server query pool - maximum number of idle connections to retain in the pool. Use this to balance between faster response times during traffic bursts and resource efficiency during low-traffic periods.
      --queryserver-config-query-pool-timeout duration                   query server query pool timeout, 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.
      --queryserver-config-query-timeout duration                        query server query timeout, this is the query timeout in vttablet side. If a query takes more than this timeout, it will be killed. (default 30s)
      --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)
      --queryserver-config-schema-reload-time duration                   query server schema reload time, how often vttablet reloads schemas from underlying MySQL instance. vttablet keeps table schemas in its own memory and periodically refreshes it from MySQL. This config controls the reload time. (default 30m0s)
      --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)
      --queryserver-config-stream-pool-max-idle-count int                query server stream pool - maximum number of idle connections to retain in the pool. Use this to balance between faster response times during traffic bursts and resource efficiency during low-traffic periods.
      --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)
      --queryserver-config-stream-pool-timeout duration                  query server stream pool timeout, it is how long vttablet waits for a connection from the stream pool. If set to 0 (default) then there is no timeout.
      --queryserver-config-strict-table-acl                              only allow queries that pass table acl checks
      --queryserver-config-terse-errors                                  prevent bind vars from escaping in client error messages
      --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)
      --queryserver-config-transaction-timeout duration                  query server transaction timeout, a transaction will be killed if it takes longer than this value (default 30s)
      --queryserver-config-truncate-error-len int                        truncate errors sent to client if they are longer than this value (0 means do not truncate)
      --queryserver-config-txpool-max-idle-count int                     query server transaction pool - maximum number of idle connections to retain in the pool. Use this to balance between faster response times during traffic bursts and resource efficiency during low-traffic periods.
      --queryserver-config-txpool-timeout duration                       query server transaction pool timeout, it is how long vttablet waits if tx pool is full (default 1s)
      --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
      --queryserver-enable-online-ddl                                    Enable online DDL. (default true)
      --queryserver-enable-views                                         Enable views support in vttablet.
      --redact-debug-ui-queries                                          redact full queries and bind variables from debug UI
      --relay-log-max-items int                                          Maximum number of rows for vreplication target buffering. (default 5000)
      --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)
      --remote-operation-timeout duration                                time to wait for a remote operation (default 15s)
      --replication-connect-retry duration                               how long to wait in between replica reconnect attempts. Only precise to the second. (default 10s)
      --restore-concurrency int                                          (init restore parameter) how many concurrent files to restore at once (default 4)
      --restore-from-backup                                              (init restore parameter) will check BackupStorage for a recent backup at startup and start there
      --restore-from-backup-allowed-engines strings                      (init restore parameter) if set, only backups taken with the specified engines are eligible to be restored
      --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'
      --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
      --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'
      --retain-online-ddl-tables duration                                How long should vttablet keep an old migrated table before purging it (default 24h0m0s)
      --s3-backup-aws-endpoint string                                    endpoint of the S3 backend (region must be provided).
      --s3-backup-aws-min-partsize int                                   Minimum part size to use, defaults to 5MiB but can be increased due to the dataset size. (default 5242880)
      --s3-backup-aws-region string                                      AWS region to use. (default "us-east-1")
      --s3-backup-aws-retries int                                        AWS request retries. (default -1)
      --s3-backup-force-path-style                                       force the s3 path style.
      --s3-backup-log-level string                                       determine the S3 loglevel to use from LogOff, LogDebug, LogDebugWithSigning, LogDebugWithHTTPBody, LogDebugWithRequestRetries, LogDebugWithRequestErrors. (default "LogOff")
      --s3-backup-server-side-encryption string                          server-side encryption algorithm (e.g., AES256, aws:kms, sse_c:/path/to/key/file).
      --s3-backup-storage-bucket string                                  S3 bucket to use for backups.
      --s3-backup-storage-root string                                    root prefix for all backup-related object names.
      --s3-backup-tls-skip-verify-cert                                   skip the 'certificate is valid' check for SSL connections.
      --sanitize-log-messages                                            Remove potentially sensitive information in tablet INFO, WARNING, and ERROR log messages such as query parameters.
      --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)
      --schema-version-max-age-seconds int                               max age of schema version records to kept in memory by the vreplication historian
      --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)
      --semi-sync-monitor-interval duration                              How frequently the semi-sync monitor checks if the primary is blocked on semi-sync ACKs (default 10s)
      --service-map strings                                              comma separated list of services to enable (or disable if prefixed with '-') Example: grpc-queryservice
      --serving-state-grace-period duration                              how long to pause after broadcasting health to vtgate, before enforcing a new serving state
      --shard-sync-retry-delay duration                                  delay between retries of updates to keep the tablet and its shard record in sync (default 30s)
      --shutdown-grace-period duration                                   how long to wait for queries and transactions to complete during graceful shutdown. (default 3s)
      --skip-user-metrics                                                If true, user based stats are not recorded.
      --sql-max-length-errors int                                        truncate queries in error logs to the given length (default unlimited)
      --sql-max-length-ui int                                            truncate queries in debug UIs to the given length (default 512) (default 512)
      --srv-topo-cache-refresh duration                                  how frequently to refresh the topology for cached entries (default 1s)
      --srv-topo-cache-ttl duration                                      how long to use cached entries for topology (default 1s)
      --srv-topo-timeout duration                                        topo server timeout (default 5s)
      --stats-backend string                                             The name of the registered push-based monitoring/stats backend to use
      --stats-combine-dimensions string                                  List of dimensions to be combined into a single "all" value in exported stats vars
      --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
      --stats-drop-variables string                                      Variables to be dropped from the list of exported variables.
      --stats-emit-period duration                                       Interval between emitting stats to all registered backends (default 1m0s)
      --statsd-address string                                            Address for statsd client
      --statsd-sample-rate float                                         Sample rate for statsd metrics (default 1)
      --stderrthreshold severityFlag                                     logs at or above this threshold go to stderr (default 1)
      --stream-health-buffer-size uint                                   max streaming health entries to buffer per streaming health client (default 20)
      --table-acl-config string                                          path to table access checker config file; send SIGHUP to reload this file
      --table-acl-config-reload-interval duration                        Ticker to reload ACLs. Duration flag, format e.g.: 30s. Default: do not reload
      --table-gc-lifecycle string                                        States for a DROP TABLE garbage collection cycle. Default is 'hold,purge,evac,drop', use any subset ('drop' implicitly always included) (default "hold,purge,evac,drop")
      --table-refresh-interval int                                       interval in milliseconds to refresh tables in status page with refreshRequired class
      --tablet-config string                                             YAML file config for tablet
      --tablet-dir string                                                The directory within the vtdataroot to store vttablet/mysql files. Defaults to being generated by the tablet uid.
      --tablet-grpc-ca string                                            the server ca to use to validate servers when connecting
      --tablet-grpc-cert string                                          the cert to use to connect
      --tablet-grpc-crl string                                           the server crl to use to validate server certificates when connecting
      --tablet-grpc-key string                                           the key to use to connect
      --tablet-grpc-server-name string                                   the server name to use to validate server certificate
      --tablet-hostname string                                           if not empty, this hostname will be assumed instead of trying to resolve it
      --tablet-manager-grpc-ca string                                    the server ca to use to validate servers when connecting
      --tablet-manager-grpc-cert string                                  the cert to use to connect
      --tablet-manager-grpc-concurrency int                              concurrency to use to talk to a vttablet server for performance-sensitive RPCs (like ExecuteFetchAs{Dba,App}, CheckThrottler and FullStatus) (default 8)
      --tablet-manager-grpc-connpool-size int                            number of tablets to keep tmclient connections open to (default 100)
      --tablet-manager-grpc-crl string                                   the server crl to use to validate server certificates when connecting
      --tablet-manager-grpc-key string                                   the key to use to connect
      --tablet-manager-grpc-server-name string                           the server name to use to validate server certificate
      --tablet-manager-protocol string                                   Protocol to use to make tabletmanager RPCs to vttablets. (default "grpc")
      --tablet-path string                                               tablet alias
      --tablet-protocol string                                           Protocol to use to make queryservice RPCs to vttablets. (default "grpc")
      --throttle-tablet-types string                                     Comma separated VTTablet types to be considered by the throttler. default: 'replica'. example: 'replica,rdonly'. 'replica' always implicitly included (default "replica")
      --topo-consul-lock-delay duration                                  LockDelay for consul session. (default 15s)
      --topo-consul-lock-session-checks string                           List of checks for consul session. (default "serfHealth")
      --topo-consul-lock-session-ttl string                              TTL for consul session.
      --topo-consul-watch-poll-duration duration                         time of the long poll for watch queries. (default 30s)
      --topo-etcd-lease-ttl int                                          Lease TTL for locks and leader election. The client will use KeepAlive to keep the lease going. (default 30)
      --topo-etcd-tls-ca string                                          path to the ca to use to validate the server cert when connecting to the etcd topo server
      --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
      --topo-etcd-tls-key string                                         path to the client key to use to connect to the etcd topo server, enables TLS
      --topo-global-root string                                          the path of the global topology data in the global topology server
      --topo-global-server-address string                                the address of the global topology server
      --topo-implementation string                                       the topology implementation to use
      --topo-read-concurrency int                                        Maximum concurrency of topo reads per global or local cell. (default 32)
      --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
      --topo-zk-base-timeout duration                                    zk base timeout (see zk.Connect) (default 30s)
      --topo-zk-max-concurrency int                                      maximum number of pending requests to send to a Zookeeper server. (default 64)
      --topo-zk-tls-ca string                                            the server ca to use to validate servers when connecting to the zk topo server
      --topo-zk-tls-cert string                                          the cert to use to connect to the zk topo server, requires topo-zk-tls-key, enables TLS
      --topo-zk-tls-key string                                           the key to use to connect to the zk topo server, enables TLS
      --topocustomrule-cell string                                       topo cell for customrules file. (default "global")
      --topocustomrule-path string                                       path for customrules file. Disabled if empty.
      --tracer string                                                    tracing service to use (default "noop")
      --tracing-enable-logging                                           whether to enable logging in the tracing service
      --tracing-sampling-rate float                                      sampling rate for the probabilistic jaeger sampler (default 0.1)
      --tracing-sampling-type string                                     sampling strategy to use for jaeger. possible values are 'const', 'probabilistic', 'rateLimiting', or 'remote' (default "const")
      --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
      --transaction-limit-by-component                                   Include CallerID.component when considering who the user is for the purpose of transaction limit.
      --transaction-limit-by-principal                                   Include CallerID.principal when considering who the user is for the purpose of transaction limit. (default true)
      --transaction-limit-by-subcomponent                                Include CallerID.subcomponent when considering who the user is for the purpose of transaction limit.
      --transaction-limit-by-username                                    Include VTGateCallerID.username when considering who the user is for the purpose of transaction limit. (default true)
      --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)
      --transaction-log-stream-handler string                            URL handler for streaming transactions log (default "/debug/txlog")
      --twopc-abandon-age time.Duration                                  Any unresolved transaction older than this time will be sent to the coordinator to be resolved. NOTE: Providing time as seconds (float64) is deprecated. Use time.Duration format (e.g., '1s', '2m', '1h'). (default 15m0s)
      --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")
      --tx-throttler-default-priority int                                Default priority assigned to queries that lack priority information (default 100)
      --tx-throttler-dry-run                                             If present, the transaction throttler only records metrics about requests received and throttled, but does not actually throttle any requests.
      --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.
      --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)
      --tx-throttler-topo-refresh-interval duration                      The rate that the transaction throttler will refresh the topology to find cells. (default 5m0s)
      --unhealthy-threshold duration                                     replication lag after which a replica is considered unhealthy (default 2h0m0s)
      --unmanaged                                                        Indicates an unmanaged tablet, i.e. using an external mysql-compatible database
      --v Level                                                          log level for V logs
  -v, --version                                                          print binary version
      --vmodule vModuleFlag                                              comma-separated list of pattern=N settings for file-filtered logging
      --vreplication-copy-phase-duration duration                        Duration for each copy phase loop (before running the next catchup: default 1h) (default 1h0m0s)
      --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 10000000)
      --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)
      --vreplication-enable-http-log                                     Enable the /debug/vrlog HTTP endpoint, which will produce a log of the events replicated on primary tablets in the target keyspace by all VReplication workflows that are in the running/replicating phase.
      --vreplication-experimental-flags int                              (Bitmask) of experimental features in vreplication to enable (default 7)
      --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)
      --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
      --vreplication-net-read-timeout int                                Session value of net_read_timeout for vreplication, in seconds (default 300)
      --vreplication-net-write-timeout int                               Session value of net_write_timeout for vreplication, in seconds (default 600)
      --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)
      --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)
      --vreplication-retry-delay duration                                delay before retrying a failed workflow event in the replication phase (default 5s)
      --vreplication-store-compressed-gtid                               Store compressed gtids in the pos column of the sidecar database's vreplication table
      --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)
      --vstream-dynamic-packet-size                                      Enable dynamic packet sizing for vstreamers. This will adjust the packet size in vreplication workflows to improve performance. (default true)
      --vstream-packet-size int                                          Suggested packet size for vstreamers. The actual packet size may be more or less than this amount. (default 250000)
      --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 "/.*/")
      --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
      --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.
      --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
      --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
      --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
      --xtrabackup-root-path string                                      Directory location of the xtrabackup and xbstream executables, e.g., /usr/bin
      --xtrabackup-should-drain                                          Decide if we should drain while taking a backup or continue to serving traffic
      --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")
      --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)
      --xtrabackup-stripes uint                                          If greater than 0, use data striping across this many destination files to parallelize data transfer and decompression
      --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.