(mysql.info)Command-line options

mysqld Command-line Options
`mysqld' accepts the following command-line options:
     Use ANSI SQL syntax instead of MySQL syntax.  Note: ANSI mode.
`-b, --basedir=path'
     Path to installation directory. All paths are usually resolved
     relative to this.
     Allow big result sets by saving all temporary sets on file.  It
     solves most 'table full' errors, but also slows down the queries
     where in-memory tables would suffice.  Since Version 3.23.2, MySQL
     is able to solve it automatically by using memory for small
     temporary tables and switching to disk tables where necessary.
     IP address to bind to.
     Directory where character sets are.  Note: Character sets.
     Chroot `mysqld' daemon during startup.  Recommended security
     measure. It will somewhat limit `LOAD DATA INFILE' and `SELECT ...
     INTO OUTFILE' though.
     Write a core file if `mysqld' dies.  For some systems you must also
     specify `--core-file-size' to `safe_mysqld'. *Note `safe_mysqld':
`-h, --datadir=path'
     Path to the database root.
     Set the default character set.  Note: Character sets.
     Set the default table type for tables.  Note: Table types.
     If MySQL is configured with `--with-debug', you can use this
     option to get a trace file of what `mysqld' is doing.  Note:
     Making trace files.
     Don't flush key buffers

 between writes for any `MyISAM' table.
     Note: Server parameters.
     Enable system locking.  Note that if you use this option on a
     system which a not fully working lockd() (as on Linux) you will
     easily get mysqld to deadlock.
     Enable support for named pipes (only on NT/Win2000/XP).
`-T, --exit-info'
     This is a bit mask of different flags one can use for debugging the
     mysqld server;  One should not use this option if one doesn't know
     exactly what it does!
     Flush all changes to disk after each SQL command.  Normally MySQL
     only does a write of all changes to disk after each SQL command
     and lets the operating system handle the syncing to disk.  Note:
`-?, --help'
     Display short help and exit.
     Read SQL commands from this file at startup.
`-L, --language=...'
     Client error messages in given language.  May be given as a full
     path.  Note: Languages.
`-l, --log[=file]'
     Log connections and queries to file. Note: Query log.
     Log all ISAM/MyISAM changes to file (only used when debugging
     Log all queries that have taken more than `long_query_time'
     seconds to execute to file.  Note: Slow query log.
     Log updates to `file.#' where `#' is a unique number if not given.
     Note: Update log.
     Log some extra information to update log.  If you are using
     `--log-slow-queries' then queries that are not using indexes are
     logged to the slow query log.
     Table-modifying operations (`INSERT'/`DELETE'/`UPDATE') will have
     lower priority than selects.  It can also be done via `{INSERT |
     REPLACE | UPDATE | DELETE} LOW_PRIORITY ...' to lower the priority
     of only one query, or by `SET OPTION SQL_LOW_PRIORITY_UPDATES=1'
     to change the priority in one thread.  Note: Table locking.
     Lock the `mysqld' process in memory.  This works only if your
     system supports the `mlockall()' system call (like Solaris).  This
     may help if you have a problem where the operating system is
     causing `mysqld' to swap on disk.
`--myisam-recover [=option[,option...]]] where option is any combination'
     of `DEFAULT', `BACKUP', `FORCE' or `QUICK'.  You can also set this
     explicitely to `""' if you want to disable this option. If this
     option is used, `mysqld' will on open check if the table is marked
     as crashed or if if the table wasn't closed properly.  (The last
     option only works if you are running with `--skip-locking').  If
     this is the case `mysqld' will run check on the table. If the
     table was corrupted, `mysqld' will attempt to repair it.
     The following options affects how the repair works.
     DEFAULT              The same as not giving any option to
     BACKUP               If the data table was changed during recover,
                          save a                     backup of the
                          `table_name.MYD' data file as
     FORCE                Run recover even if we will loose more than
                          one row                     from the .MYD file.
     QUICK                Don't check the rows in the table if there
                          isn't any                     delete blocks.
     Before a table is automatically repaired, MySQL will add a note
     about this in the error log.  If you want to be able to recover
     from most things without user intervention, you should use the
     options `BACKUP,FORCE'.  This will force a repair of a table even
     if some rows would be deleted, but it will keep the old data file
     as a backup so that you can later examine what happened.
     Path to pid file used by `safe_mysqld'.
`-P, --port=...'
     Port number to listen for TCP/IP connections.
`-o, --old-protocol'
     Use the 3.20 protocol for compatibility with some very old clients.
     *Note Upgrading-from-3.20::.
     Only use one thread (for debugging under Linux).  Note: Debugging
`-O, --set-variable var=option'
     Give a variable a value. `--help' lists variables.  You can find a
     full description for all variables in the `SHOW VARIABLES' section
     in this manual.  Note: SHOW VARIABLES.  The tuning server
     parameters section includes information of how to optimize these.
     Note: Server parameters.
     Skip some optimize stages.  Implies `--skip-delay-key-write'.
     Don't show databases for which the user doesn't have any
     If this is enabled, a user can't create new users with the GRANT
     command, if the user doesn't have `INSERT' privilege to the
     `mysql.user' table or any column in this table.
     Turn off the ability to select and insert at the same time on
     `MyISAM' tables. (This is only to be used if you think you have
     found a bug in this feature).
     Ignore the `delay_key_write' option for all tables.  Note: Server
     This option causes the server not to use the privilege system at
     all.  This gives everyone _full access_ to all databases!  (You
     can tell a running server to start using the grant tables again by
     executing `mysqladmin flush-privileges' or `mysqladmin reload'.)
     Never use host name cache for faster name-ip resolution, but query
     DNS server on every connect instead.  Note: DNS.
     Don't use system locking.  To use `isamchk' or `myisamchk' you must
     shut down the server.  Note: Stability.  Note that in MySQL
     Version 3.23 you can use `REPAIR' and `CHECK' to repair/check
     `MyISAM' tables.
     Hostnames are not resolved.  All `Host' column values in the grant
     tables must be IP numbers or `localhost'.  Note: DNS.
     Don't listen for TCP/IP connections at all.  All interaction with
     `mysqld' must be made via Unix sockets.  This option is highly
     recommended for systems where only local requests are allowed.
     Note: DNS.
     Don't use new, possible wrong routines.  Implies
     `--skip-delay-key-write'.  This will also set default table type
     to `ISAM'.  Note: ISAM.
     Don't delete or rename files that a symlinked file in the data
     directory points to.
     If MySQL is configured with `--with-debug=full', all programs will
     check the memory for overruns for every memory allocation and
     memory freeing.  As this checking is very slow, you can avoid
     this, when you don't need memory checking, by using this option.
     Don't allow 'SHOW DATABASE' commands, unless the user has *process*
     Don't write stack traces.  This option is useful when you are
     running `mysqld' under a debugger. Note: Debugging server.
     Disable using thread priorities for faster response time.
     Socket file to use for local connections instead of default
     Option can be any combination of: `REAL_AS_FLOAT',
     `ONLY_FULL_GROUP_BY'.  It can also be empty (`""') if you want to
     reset this

     By specifying all of the above options is same as using -ansi.
     With this option one can turn on only needed SQL modes. Note: ANSI
     Sets the default transaction isolation level.  Note: SET
`-t, --tmpdir=path'
     Path for temporary files. It may be useful if your default `/tmp'
     directory resides on a partition too small to hold temporary
`-u, --user=user_name'
     Run `mysqld' daemon as user `user_name'.  This option is
     _mandatory_ when starting `mysqld' as root.
`-V, --version'
     Output version information and exit.
`-W, --warnings'
     Print out warnings like `Aborted connection...' to the `.err' file.
     Note: Communication errors.