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
db_name
.
Tell the server to write debug information to the error log.
Delete the database named db_name
and all its tables.
Display the server status variables and their values.
MySQL Enterprise. For expert advice on using server status variables, subscribe to the MySQL Enterprise Monitor. For more information, see http://www.mysql.com/products/enterprise/advisors.html.
Flush all information in the host cache.
Flush all logs.
Reload the grant tables (same as reload
).
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.
This is like the password
command but
stores the password using the old (pre-4.1) password-hashing
format. (See Section 5.3.2.3, “Password Hashing in MySQL”.)
MySQL Enterprise.
For expert advice on the security implications of using
the old-password
command, subscribe to
the MySQL Enterprise Monitor. For more information, see
http://www.mysql.com/products/enterprise/advisors.html.
Set a new password. This changes the password to
new-password
for 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.
If the new-password
value
contains spaces or other characters that are special to your
command interpreter, you need to enclose it within quotes.
On Windows, be sure to use double quotes rather than single
quotes; single quotes are not stripped from the password,
but rather are interpreted as part of the password. For
example:
shell> mysqladmin password "my new password"
Do not use this command used if the server was started
with the
--skip-grant-tables
option.
No password change will be applied. This is true even if
you precede the password
command with
flush-privileges
on 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 alive. 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
PROCESSLIST
statement. If the
--verbose
option is
given, the output is like that of
SHOW FULL
PROCESSLIST
. (See
Section 12.4.5.27, “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.
MySQL Enterprise. For expert advice on using server system variables, subscribe to the MySQL Enterprise Monitor. For more information, see http://www.mysql.com/products/enterprise/advisors.html.
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 queries that have taken more than
long_query_time
seconds.
See Section 5.2.4, “The Slow Query Log”.
The number of tables the server has opened.
The number of flush-*
,
refresh
, and reload
commands the server has executed.
The number of tables that currently are open.
The amount of memory allocated directly by
mysqld. This value is displayed only when
MySQL has been compiled with
--with-debug=full
.
The maximum amount of memory allocated directly by
mysqld. This value is displayed only when
MySQL has been compiled with
--with-debug=full
.
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
[mysqladmin]
and [client]
option file groups. mysqladmin also supports
the options for processing option files described at
Section 4.2.3.3.1, “Command-Line Options that Affect Option-File Handling”.
Table 4.3. mysqladmin
Options
Format | Config File | Description | Introduction | Deprecated | Removed |
---|---|---|---|---|---|
--compress | compress | Compress all information sent between the client and the server | |||
--connect_timeout=seconds | connect_timeout | The number of seconds before connection timeout | |||
--count=# | count | The number of iterations to make for repeated command execution | |||
--debug[=debug_options] | debug | Write a debugging log | |||
--default-character-set=charset_name | default-character-set | Use charset_name as the default character set | |||
--force | force | Continue even if an SQL error occurs | |||
--help | Display help message and exit | ||||
--host=host_name | host | Connect to the MySQL server on the given host | |||
--password[=password] | password | The password to use when connecting to the server | |||
--pipe | On Windows, connect to server via a named pipe | ||||
--port=port_num | port | The TCP/IP port number to use for the connection | |||
--protocol=type | protocol | The connection protocol to use | |||
--relative | relative | Show the difference between the current and previous values when used with the --sleep option | |||
--shutdown_timeout=seconds | shutdown_timeout | The maximum number of seconds to wait for server shutdown | |||
--silent | silent | Silent mode | |||
--sleep=delay | sleep | Execute commands repeatedly, sleeping for delay seconds in between | |||
--socket=path | socket | For connections to localhost | |||
--ssl-ca=file_name | ssl-ca | The path to a file that contains a list of trusted SSL CAs | |||
--ssl-capath=directory_name | ssl-capath | The path to a directory that contains trusted SSL CA certificates in PEM format | |||
--ssl-cert=file_name | ssl-cert | The name of the SSL certificate file to use for establishing a secure connection | |||
--ssl-cipher=cipher_list | ssl-cipher | A list of allowable ciphers to use for SSL encryption | |||
--ssl-key=file_name | ssl-key | The name of the SSL key file to use for establishing a secure connection | |||
--ssl-verify-server-cert | ssl-verify-server-cert | The server's Common Name value in its certificate is verified against the host name used when connecting to the server | |||
--user=user_name, | user | The MySQL user name to use when connecting to the server | |||
--verbose | Verbose mode | ||||
--version | Display version information and exit | ||||
--vertical | vertical | Print query output rows vertically (one line per column value) | |||
--wait | wait | If the connection cannot be established, wait and retry instead of aborting |
--help
,
-?
Display a help message and exit.
The directory where character sets are installed. See Section 9.5, “Character Set Configuration”.
--compress
,
-C
Compress all information sent between the client and the server if both support compression.
--count=
,
N
-c
N
The number of iterations to make for repeated command
execution if the --sleep
option is given.
--debug[=
,
debug_options
]-#
[
debug_options
]
Write a debugging log. A typical
debug_options
string is
'd:t:o,
.
The default is
file_name
''d:t:o,/tmp/mysqladmin.trace'
.
--default-character-set=
charset_name
Use charset_name
as the default
character set. See Section 9.5, “Character Set Configuration”.
--force
,
-f
Do not ask for confirmation for the drop
command. With
multiple commands, continue even if an error occurs.
db_name
--host=
,
host_name
-h
host_name
Connect to the MySQL server on the given host.
--password[=
,
password
]-p[
password
]
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
password
value following the
--password
or
-p
option on the command line,
mysqladmin prompts for one.
Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-User Guidelines for Password Security”. You can use an option file to avoid giving the password on the command line.
--pipe
,
-W
On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.
--port=
,
port_num
-P
port_num
The TCP/IP port number to use for the connection.
--protocol={TCP|SOCKET|PIPE|MEMORY}
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 allowable values, see Section 4.2.2, “Connecting to the MySQL Server”.
--relative
,
-r
Show the difference between the current and previous values
when used with the
--sleep
option.
Currently, this option works only with the
extended-status
command.
--silent
,
-s
Exit silently if a connection to the server cannot be established.
--sleep=
,
delay
-i
delay
Execute commands repeatedly, sleeping for
delay
seconds in between. The
--count
option determines
the number of iterations. If
--count
is not given,
mysqladmin executes commands indefinitely
until interrupted.
--socket=
,
path
-S
path
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
--ssl
specify whether to
connect to the server via SSL and indicate where to find SSL
keys and certificates. See Section 5.5.6.3, “SSL Command Options”.
--user=
,
user_name
-u
user_name
The MySQL user name to use when connecting to the server.
--verbose
,
-v
Verbose mode. Print more information about what the program does.
--version
,
-V
Display version information and exit.
--vertical
,
-E
Print output vertically. This is similar to
--relative
, but prints
output vertically.
--wait[=
,
count
]-w[
count
]
If the connection cannot be established, wait and retry
instead of aborting. If a count
value is given, it indicates the number of times to retry.
The default is one time.
You can also set the following variables by using
--
The var_name
=value
--set-variable
format is deprecated.
syntax:
It is also possible to set variables by using
--
.
The var_name
=value
--set-variable
format is deprecated.
User Comments
In 4.1 and 5.0 version of this page, the mysqladmin proc stat explanation includes for everything EXCEPT queries/sec average. Given now I'm graphing this value, and the graphs look dubious, I'd guess this stat isn't really meant to be used anymore.
The average is either since mysqld uptime, or at least for a very large window of time, because when I stop sending any queries to a server, the falloff ramp is exceedingly slow (it looks like it'd take months for it to fall to zero, if it would ever do).
Take care with this stat. It might not measure what you think it does.
Add your own comment.