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 commands described in the following list. Some of the commands take an argument following the command name.
-
create
db_name
Create a new database named
db_name
. -
debug
Tell the server to write debug information to the error log.
-
drop
db_name
Delete the database named
db_name
and all its tables. -
extended-status
Display the server status variables and their values.
-
flush-hosts
Flush all information in the host cache.
-
flush-logs
Flush all logs.
-
flush-privileges
Reload the grant tables (same as
reload
). -
flush-status
Clear status variables.
-
flush-tables
Flush all tables.
-
flush-threads
Flush the thread cache.
-
kill
id
,id
,...Kill server threads. If multiple thread ID values are given, there must be no spaces in the list.
-
old-password
new-password
This is like the
password
command but stores the password using the old (pre-4.1) password-hashing format. (See Section 5.8.9, “Password Hashing as of MySQL 4.1”.) -
password
new-password
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"
-
ping
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. -
processlist
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 ofSHOW FULL PROCESSLIST
. (See Section 13.5.4.19, “SHOW PROCESSLIST
Syntax”.) -
reload
Reload the grant tables.
-
refresh
Flush all tables and close and open log files.
-
shutdown
Stop the server.
-
start-slave
Start replication on a slave server.
-
status
Display a short server status message.
-
stop-slave
Stop replication on a slave server.
-
variables
Display the server system variables and their values.
-
version
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.12.4, “The Slow Query Log”. -
The number of tables the server has opened.
-
The number of
flush-*
,refresh
, andreload
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:
-
Display a help message and exit.
-
The directory where character sets are installed. See Section 5.11.1, “The Character Set Used for Data and Sorting”.
-
Compress all information sent between the client and the server if both support compression.
-
The number of iterations to make for repeated command execution. This works only with the
--sleep
option. -
--debug[=
debug_options
],-# [
debug_options
]Write a debugging log. The
debug_options
string often is'd:t:o,
file_name
'. The default is'd:t:o,/tmp/mysqladmin.trace'
. -
--default-character-set=
charset_name
Use
charset_name
as the default character set. See Section 5.11.1, “The Character Set Used for Data and Sorting”. -
Do not ask for confirmation for the
drop
db_name
command. With multiple commands, continue even if an error occurs. -
--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 thepassword
value following the--password
or-p
option on the command line, you are prompted for one.Specifying a password on the command line should be considered insecure. See Section 5.9.6, “Keeping Your Password Secure”.
-
The TCP/IP port number to use for the connection.
-
--protocol={TCP|SOCKET|PIPE|MEMORY}
The connection protocol to use.
-
Show the difference between the current and previous values when used with the
--sleep
option. Currently, this option works only with theextended-status
command. -
Exit silently if a connection to the server cannot be established.
-
Execute commands repeatedly, sleeping for
delay
seconds in between. The--count
option determines the number of iterations. -
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.9.7.3, “SSL Command Options”. -
--user=
user_name
,-u
user_name
The MySQL username 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
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
--
var_name
=value
syntax:
It is also possible to set variables by using
--set-variable=
var_name
=value
or -O
var_name
=value
syntax. This syntax is deprecated.