mysqladmin is a client for performing administrative operations. You can use it to check the server's configuration and current status, to create and drop databases, and more.
Invoke mysqladmin like this:
shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...
mysqladmin supports the following commands. Some of the commands take an argument following the command name.
Create a new database named
Tell the server to write debug information to the error log. The connected user must have the
SUPERprivilege. Format and content of this information is subject to change.
This includes information about the Event Scheduler. See Section 23.4.5, “Event Scheduler Status”.
Delete the database named
db_nameand all its tables.
Display the server status variables and their values.
Flush all information in the host cache.
Flush all logs.
As of MySQL 5.7.5, the mysqladmin flush-logs command permits optional log types to be given, to specify which logs to flush. Following the
flush-logscommand, you can provide a space-separated list of one or more of the following log types:
slow. These correspond to the log types that can be specified for the
FLUSH LOGSSQL statement.
Reload the grant tables (same as
Clear status variables.
Flush all tables.
Flush the thread cache.
Kill server threads. If multiple thread ID values are given, there must be no spaces in the list.
To kill threads belonging to other users, the connected user must have the
This is like the
passwordcommand but stores the password using the old (pre-4.1) password-hashing format. (See Section 126.96.36.199, “Password Hashing in MySQL”.)
This command was removed in MySQL 5.7.5.
Set a new password. This changes the password to
new_passwordfor the account that you use with mysqladmin for connecting to the server. Thus, the next time you invoke mysqladmin (or any other client program) using the same account, you will need to specify the new password.Warning
Setting a password using mysqladmin should be considered insecure. On some systems, your password becomes visible to system status programs such as ps that may be invoked by other users to display command lines. MySQL clients typically overwrite the command-line password argument with zeros during their initialization sequence. However, there is still a brief interval during which the value is visible. Also, on some systems this overwriting strategy is ineffective and the password remains visible to ps. (SystemV Unix systems and perhaps others are subject to this problem.)
new_passwordvalue contains spaces or other characters that are special to your command interpreter, you need to enclose it within quotation marks. On Windows, be sure to use double quotation marks rather than single quotation marks; single quotation marks are not stripped from the password, but rather are interpreted as part of the password. For example:
shell> mysqladmin password "my new password"
In MySQL 5.7, the new password can be omitted following the
passwordcommand. In this case, mysqladmin prompts for the password value, which enables you to avoid specifying the password on the command line. Omitting the password value should be done only if
passwordis the final command on the mysqladmin command line. Otherwise, the next argument is taken as the password.Caution
Do not use this command used if the server was started with the
--skip-grant-tablesoption. No password change will be applied. This is true even if you precede the
flush-privilegeson the same command line to re-enable the grant tables because the flush operation occurs after you connect. However, you can use mysqladmin flush-privileges to re-enable the grant table and then use a separate mysqladmin password command to change the password.
Check whether the server is available. The return status from mysqladmin is 0 if the server is running, 1 if it is not. This is 0 even in case of an error such as
Access denied, because this means that the server is running but refused the connection, which is different from the server not running.
Show a list of active server threads. This is like the output of the
SHOW PROCESSLISTstatement. If the
--verboseoption is given, the output is like that of
SHOW FULL PROCESSLIST. (See Section 188.8.131.52, “SHOW PROCESSLIST Syntax”.)
Reload the grant tables.
Flush all tables and close and open log files.
Stop the server.
Start replication on a slave server.
Display a short server status message.
Stop replication on a slave server.
Display the server system variables and their values.
Display version information from the server.
All commands can be shortened to any unique prefix. For example:
shell> mysqladmin proc stat +----+-------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-------+-----------+----+---------+------+-------+------------------+ | 51 | monty | localhost | | Query | 0 | | show processlist | +----+-------+-----------+----+---------+------+-------+------------------+ Uptime: 1473624 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268
The mysqladmin status command result displays the following values:
The number of seconds the MySQL server has been running.
The number of active threads (clients).
The number of questions (queries) from clients since the server was started.
The number of tables the server has opened.
The number of
reloadcommands the server has executed.
The number of tables that currently are open.
If you execute mysqladmin shutdown when connecting to a local server using a Unix socket file, mysqladmin waits until the server's process ID file has been removed, to ensure that the server has stopped properly.
mysqladmin supports the following options,
which can be specified on the command line or in the
groups of an option file. For information about option files
used by MySQL programs, see Section 4.2.6, “Using Option Files”.
|--bind-address||Use specified network interface to connect to MySQL Server|
|--compress||Compress all information sent between client and server|
|--connect_timeout||Number of seconds before connection timeout|
|--count||Number of iterations to make for repeated command execution|
|--debug||Write debugging log|
|--debug-check||Print debugging information when program exits|
|--debug-info||Print debugging information, memory, and CPU statistics when program exits|
|--default-auth||Authentication plugin to use|
|--default-character-set||Specify default character set|
|--defaults-extra-file||Read named option file in addition to usual option files|
|--defaults-file||Read only named option file|
|--defaults-group-suffix||Option group suffix value|
|--enable-cleartext-plugin||Enable cleartext authentication plugin|
|--force||Continue even if an SQL error occurs|
|--help||Display help message and exit|
|--host||Connect to MySQL server on given host|
|--login-path||Read login path options from .mylogin.cnf|
|--no-beep||Do not beep when errors occur|
|--no-defaults||Read no option files|
|--password||Password to use when connecting to server|
|--pipe||On Windows, connect to server using named pipe|
|--plugin-dir||Directory where plugins are installed|
|--port||TCP/IP port number for connection|
|--print-defaults||Print default options|
|--protocol||Connection protocol to use|
|--relative||Show the difference between the current and previous values when used with the --sleep option|
|--secure-auth||Do not send passwords to server in old (pre-4.1) format||5.7.4||5.7.5|
|--shared-memory-base-name||The name of shared memory to use for shared-memory connections|
|--show-warnings||Show warnings after statement execution||5.7.2|
|--shutdown_timeout||The maximum number of seconds to wait for server shutdown|
|--sleep||Execute commands repeatedly, sleeping for delay seconds in between|
|--socket||For connections to localhost, the Unix socket file to use|
|--ssl||Enable encrypted connection|
|--ssl-ca||File that contains list of trusted SSL Certificate Authorities|
|--ssl-capath||Directory that contains trusted SSL Certificate Authority certificate files|
|--ssl-cert||File that contains X509 certificate|
|--ssl-cipher||List of permitted ciphers for connection encryption|
|--ssl-crl||File that contains certificate revocation lists|
|--ssl-crlpath||Directory that contains certificate revocation list files|
|--ssl-key||File that contains X509 key|
|--ssl-mode||Security state of connection to server||5.7.11|
|--ssl-verify-server-cert||Verify host name against server certificate Common Name identity|
|--tls-version||Protocols permitted for encrypted connections||5.7.10|
|--user||MySQL user name to use when connecting to server|
|--version||Display version information and exit|
|--vertical||Print query output rows vertically (one line per column value)|
|--wait||If the connection cannot be established, wait and retry instead of aborting|
Display a help message and exit.
On a computer having multiple network interfaces, use this option to select which interface to use for connecting to the MySQL server.
The directory where character sets are installed. See Section 10.5, “Character Set Configuration”.
Compress all information sent between the client and the server if both support compression.
The number of iterations to make for repeated command execution if the
--sleepoption is given.
Write a debugging log. A typical
d:t:o,. The default is
Print some debugging information when the program exits.
Print debugging information and memory and CPU usage statistics when the program exits.
A hint about the client-side authentication plugin to use. See Section 6.3.9, “Pluggable Authentication”.
charset_nameas the default character set. See Section 10.5, “Character Set Configuration”.
Read this option file after the global option file but (on Unix) before the user option file. If the file does not exist or is otherwise inaccessible, an error occurs.
file_nameis interpreted relative to the current directory if given as a relative path name rather than a full path name.
Use only the given option file. If the file does not exist or is otherwise inaccessible, an error occurs.
file_nameis interpreted relative to the current directory if given as a relative path name rather than a full path name.
Exception: Even with
--defaults-file, client programs read
Read not only the usual option groups, but also groups with the usual names and a suffix of
str. For example, mysqladmin normally reads the
[mysqladmin]groups. If the
--defaults-group-suffix=_otheroption is given, mysqladmin also reads the
mysql_clear_passwordcleartext authentication plugin. (See Section 184.108.40.206, “Client-Side Cleartext Pluggable Authentication”.)
Do not ask for confirmation for the
dropcommand. With multiple commands, continue even if an error occurs.
Connect to the MySQL server on the given host.
Read options from the named login path in the
.mylogin.cnflogin path file. A “login path” is an option group containing options that specify which MySQL server to connect to and which account to authenticate as. To create or modify a login path file, use the mysql_config_editor utility. See Section 4.6.6, “mysql_config_editor — MySQL Configuration Utility”.
Suppress the warning beep that is emitted by default for errors such as a failure to connect to the server.
Do not read any option files. If program startup fails due to reading unknown options from an option file,
--no-defaultscan be used to prevent them from being read.
The exception is that the
.mylogin.cnffile, if it exists, is read in all cases. This permits passwords to be specified in a safer way than on the command line even when
--no-defaultsis used. (
.mylogin.cnfis created by the mysql_config_editor utility. See Section 4.6.6, “mysql_config_editor — MySQL Configuration Utility”.)
The password to use when connecting to the server. If you use the short option form (
-p), you cannot have a space between the option and the password. If you omit the
passwordvalue following the
-poption on the command line, mysqladmin prompts for one.
Specifying a password on the command line should be considered insecure. See Section 220.127.116.11, “End-User Guidelines for Password Security”. You can use an option file to avoid giving the password on the command line.
On Windows, connect to the server using a named pipe. This option applies only if the server supports named-pipe connections.
The directory in which to look for plugins. Specify this option if the
--default-authoption is used to specify an authentication plugin but mysqladmin does not find it. See Section 6.3.9, “Pluggable Authentication”.
The TCP/IP port number to use for the connection.
Print the program name and all options that it gets from option files.
The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want. For details on the permissible values, see Section 4.2.2, “Connecting to the MySQL Server”.
Show the difference between the current and previous values when used with the
--sleepoption. This option works only with the
Show warnings resulting from execution of statements sent to the server. This option was added in MySQL 5.7.2.
Do not send passwords to the server in old (pre-4.1) format. This prevents connections except for servers that use the newer password format. This option was added in MySQL 5.7.4.
As of MySQL 5.7.5, this option is deprecated and will be removed in a future MySQL release. It is always enabled and attempting to disable it (
--secure-auth=0) produces an error. Before MySQL 5.7.5, this option is enabled by default but can be disabled.Note
Passwords that use the pre-4.1 hashing method are less secure than passwords that use the native password hashing method and should be avoided. Pre-4.1 passwords are deprecated and support for them was removed in MySQL 5.7.5. For account upgrade instructions, see Section 18.104.22.168, “Migrating Away from Pre-4.1 Password Hashing and the mysql_old_password Plugin”.
On Windows, the shared-memory name to use, for connections made using shared memory to a local server. The default value is
MYSQL. The shared-memory name is case-sensitive.
The server must be started with the
--shared-memoryoption to enable shared-memory connections.
Exit silently if a connection to the server cannot be established.
Execute commands repeatedly, sleeping for
delayseconds in between. The
--countoption determines the number of iterations. If
--countis not given, mysqladmin executes commands indefinitely until interrupted.
For connections to
localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.
Options that begin with
--sslspecify whether to connect to the server using SSL and indicate where to find SSL keys and certificates. See Section 6.4.2, “Command Options for Encrypted Connections”.
The protocols permitted by the client for encrypted connections. The value is a comma-separated list containing one or more protocol names. The protocols that can be named for this option depend on the SSL library used to compile MySQL. For details, see Section 6.4.6, “Encrypted Connection Protocols and Ciphers”.
This option was added in MySQL 5.7.10.
The MySQL user name to use when connecting to the server.
Verbose mode. Print more information about what the program does.
Display version information and exit.
Print output vertically. This is similar to
--relative, but prints output vertically.
If the connection cannot be established, wait and retry instead of aborting. If a
countvalue is given, it indicates the number of times to retry. The default is one time.
You can also set the following variables by using