MariaDB_mysqladmin

mysqladmin

via: https://mariadb.com/kb/en/mysqladmin/

mysqladmin is an administration program for the mysqld daemon. It can be used to:

  • Monitor what the MySQL clients are doing (processlist)
  • Get usage statistics and variables from the MariaDB / MySQL server
  • Create/drop databases
  • Flush (reset) logs, statistics and tables
  • Kill running queries.
  • Stop the server (shutdown)
  • Start/stop slaves
  • Check if the server is alive (ping)

Usage

mysqladmin [OPTIONS] command command....

mysqladmin Options

Option Description
-c, --count=# Number of iterations to make. This works with -i (--sleep) only.
--debug-check Check memory and open file usage at exit.
--debug-info Print some debug info at exit.
-f, --force Don't ask for confirmation on drop database; with multiple commands, continue even if an error occurs.
-C, --compress Use compression in server/client protocol.
--character-sets-dir=name Directory for character set files.
--default-character-set=name Set the default character set.
-?, --help Display this help and exit.
-h, --host=name Connect to host.
-b, --no-beep Turn off beep on error.
-p, --password[=name] Password to use when connecting to server. If password is not given it's asked from the tty.
-P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306).
--protocol=name The protocol to use for connection (tcp, socket, pipe, memory).
-r, --relative Show difference between current and previous values when used with -i. Currently only works with extended-status.
-O, --set-variable=name Change the value of a variable. Please note that this option is deprecated; you can set variables directly with--variable-name=value.
-s, --silent Silently exit if one can't connect to server.
-S, --socket=name The socket file to use for connection.
-i, --sleep=# Execute commands repeatedly with a sleep between.
--ssl Enable SSL for connection (automatically enabled with other flags).Disable with '--skip-ssl'.
--ssl-ca=name CA file in PEM format (check OpenSSL docs, implies --ssl).
--ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=name X509 cert in PEM format (implies --ssl).
--ssl-cipher=name SSL cipher to use (implies --ssl).
--ssl-key=name X509 key in PEM format (implies --ssl).
--ssl-verify-server-cert Verify server's "Common Name" in its cert against hostname used when connecting. This option is disabled by default.
-u, --user=name User for login if not current user.
-v, --verbose Write more information.
-V, --version Output version information and exit.
-E, --vertical Print output vertically. Is similar to '--relative', but prints output vertically.
-w, --wait[=#] Wait and retry if connection is down.
--connect_timeout=#  
--shutdown_timeout=#  

mysqladmin Variables (--variable-name=value)

{FALSE|TRUE} Variables and boolean options  Value (after reading options)
count 0
debug-check FALSE
debug-info FALSE
force FALSE
compress FALSE
character-sets-dir (No default value)
default-character-set (No default value)
host (No default value)
no-beep FALSE
port 3306
relative FALSE
socket /var/run/mysqld/mysqld.sock
sleep 0
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-verify-server-cert FALSE
user (No default value)
verbose FALSE
vertical FALSE
connect_timeout 43200
shutdown_timeout 3600

mysqladmin Default Options

Default options are read from the following files in the given order:

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. /usr/etc/my.cnf
  4. ~/.my.cnf

The following groups are read:

  1. mysqladmin
  2. client
  3. client-server
  4. client-mariadb

The following options may be given as the first argument:

Option Description
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.

mysqladmin Commands

Command is one or more of: (Commands may be shortened)

Command Description
create databasename Create a new database
debug Instruct server to write debug information to log
drop databasename Delete a database and all its tables
extended-status Gives an extended status message from the server
flush-all-statistics Flush all statistics tables
flush-all-status Flush status and statistics
flush-client-statistics Flush client statistics
flush-hosts Flush all cached hosts
flush-index-statistics Flush index statistics
flush-logs Flush all logs
flush-privileges Reload grant tables (same as reload)
flush-slow-log Flush slow query log
flush-status Clear status variables
flush-table-statistics Clear table statistics
flush-tables Flush all tables
flush-threads Flush the thread cache
flush-user-statistics Flush user statistics
kill id,id,... Kill mysql threads
password new-password Change old password to new-password, MySQL 4.1 hashing.
old-password new-password Change old password to new-password in old format.
ping Check if mysqld is alive
processlist Show list of active threads in server
reload Reload grant tables
refresh Flush all tables and close and open logfiles
shutdown Take server down; see also SHUTDOWN
status Gives a short status message from the server
start-slave Start slave
stop-slave Stop slave
variables Prints variables available
version Get version info from server

Typical example usage

Quick check of what the server is doing:

shell> mysqladmin status
Uptime: 8023  Threads: 1  Questions: 14  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.1
shell> mysqladmin processlist
+----+-------+-----------+----+---------+------+-------+------------------+
| Id | User  | Host      | db | Command | Time | State | Info             |
+----+-------+-----------+----+---------+------+-------+------------------+
....
+----+-------+-----------+----+---------+------+-------+------------------+

More extensive information of what is happening 'just now' changing (great for troubleshooting a slow server):

shell> mysqladmin --relative --sleep=1 extended-status | grep -v " 0 "

Check the variables for a running server:

shell> mysqladmin variables | grep datadir
| datadir                                  | /my/data/ |

Other ways to stop mysqld (unix)

If you get the error:

mysqladmin: shutdown failed; error: 'Access denied; you need (at least one of) the SHUTDOWN privilege(s) for this operation'

It means that you didn't use mysqladmin with a user that has the SUPER or SHUTDOWN privilege.

If you don't know the user password, you can still take the mysqld process down with a system killcommand:

kill -SIGTERM pid-of-mysqld-process

The above is identical to mysqladmin shutdown.

On windows you should use:

NET STOP MySQL

See also

  • mytop, a 'top' like program for MariaDB/MySQL that allows you to see what the server is doing. A mytop optimized for MariaDB is included in MariaDB 5.3

猜你喜欢

转载自mikzhang.iteye.com/blog/2053996