MySQL mysqladmin客戶端的使用簡介

     mysqladmin是MySQL官方提供的shell命令行工具,它的參數都需要在shell命令行裡面執行,當我們使用mysqladmin的時候,必須指定兩類參數,一類是連接參數,另外一類是命令參數,連接參數用來指定相應的連接信息,而命令參數用來指定命令信息,例如可以用來檢查服務器的配置和當前狀態、創建和刪除數據庫等。它的語法如下:

mysqladmin [options] command [command-options] [command [command options]] ...

除此之外,還有一些相關的參數配置(代碼可以左滑哦~):

--bind-address=name 綁定遠程訪問主機的ip地址
-i, --sleep=#   間隔多長時間執行一次。
-c, --count=#   統計計數。與i選項配合使用。
-f, --force   強制執行,刪除數據庫是無需確認信息,多條語句執行時忽略其中某條語句的錯誤。
--default-character-set=name 設置默認字符集。
-?, --help    顯示幫助信息。
-h, --host=name  指定連接主機。
-u, --user=name  登錄用戶。
-p, --password[=name] 登錄密碼,如果不寫於參數後,則會提示輸入。
-P, --port=#   指定數據庫端口。
--protocol=name  使用的連接協議。(tcp,socket,pipe,memory)
-r, --relative   顯示前後兩次輸出的差異。必須與i選項配合使用。
-s, --silent   靜默退出。
-S, --socket=name  指定socket文件。
-v, --verbose   顯示更多信息。
-V, --version   顯示版本信息。
-w, --wait[=#]   如果連接斷開,等待指定的時間後重試

    這麼多參數,想看著比較亂,那麼我們來看看它具體能夠幫我們做哪些事情吧:

1.查看服務器的狀態:

#每隔兩秒查看一次服務器的狀態
[root@dev01 ~]# mysqladmin -uroot -p -i 2 -c 2 status
Enter password: 
Uptime: 42767 Threads: 2 Questions: 533 Slow queries: 0 Opens: 346 Flush tables: Open tables: Queries per second avg: 0.012
Uptime: Threads: Questions: Slow queries: Opens: Flush tables: Open tables: Queries per second avg: 0.012

2.修改root密碼:

#修改root密碼
mysqladmin -u root -p原密碼 password 'newpassword'

3.檢查mysqlserver是否可用

#查詢服務是否正常
[root@dev01 ~]# mysqladmin -uroot -p ping
Enter password: 
mysqld is alive

4.查詢服務器的版本

[root@dev01 ~]# mysqladmin -uroot -p version
Enter password: 
mysqladmin Ver 8.42 Distrib 5.7.19, for linux-glibc2.12 on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version  5.7.19
Protocol version 10
Connection  Localhost via UNIX socket
UNIX socket  /tmp/mysql.sock
Uptime:   12 hours 42 sec

Threads: 2 Questions: 538 Slow queries: 0 Opens: 346 Flush tables: 1 Open tables: 285 Queries per second avg: 0.012

5.查看系統當前的狀態值 (省略其中的部分結果)

[root@dev01 ~]# mysqladmin -uroot -p extended-status
Enter password: 
+-----------------------------------------------+----------+
| Variable_name         | Value |
+-----------------------------------------------+----------+
| Aborted_clients        |   |
| Aborted_connects        |   |
| Innodb_num_open_files       |  |
| Innodb_truncated_status_writes    |   |            
| Uptime          |  |
| Uptime_since_flush_status      |  |
+-----------------------------------------------+----------+

6.查看服務器系統變量值

[root@dev01 ~]# mysqladmin -uroot -p variables
Enter password: 
......
| key_cache_block_size    |                                                                                         |
| key_cache_division_limit   |                                                                                             |
| large_files_support    | ON                                                                                                    |
| large_page_size     |                                                                                                     |
| large_pages      | OFF                                                                                                    |
| lc_messages      | en_US                                                                                                   |
| lc_messages_dir     | /usr/local/mysql/share/                                                                                               |
......

7.查看當前所有的進程

[root@dev01 ~]# mysqladmin -uroot -p processlist
Enter password: 
+----+------+----------------------+----------+---------+-------+----------+------------------+
| Id | User | Host     | db  | Command | Time | State | Info    |
+----+------+----------------------+----------+---------+-------+----------+------------------+
| | root | 192.168.56.102: | devopsdb | Sleep | |   |     |
| | root | localhost   |   | Query |  | starting | show processlist |
+----+------+----------------------+----------+---------+-------+----------+------------------+

8.創建數據庫

[root@dev01 ~]# mysqladmin -uroot -p create db_test
Enter password: 
[root@dev01 ~]# mysql -uroot -p
Enter password: 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| TkGrowDB_dbo  |
| TkGrowLog_dbo  |
| cydevopsdb   |
| db_test   |
| yeyz    |
+--------------------+
 rows in set (0.00 sec)

mysql> exit
Bye

從上面的命令我們可以看到,我們已經通過create命令創建瞭數據庫db_test

9.刪除特定的數據庫:

[root@dev01 ~]# mysqladmin -uroot -p drop db_test
Enter password: 
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'db_test' database [y/N] y
Database "db_test" dropped
[root@dev01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| TkGrowDB_dbo  |
| TkGrowLog_dbo  |
| cydevopsdb   |
| yeyz    |
+--------------------+
 rows in set (0.00 sec)

    在我們日常操作中,drop操作應該謹慎一些,可以看到,mysql也友好的給出瞭提醒。

10.重載權限表和刷新緩存(無明顯輸出)

[root@dev01 ~]# mysqladmin -uroot -p reload
Enter password:
[root@dev01 ~]# mysqladmin -uroot -p refresh
Enter password:

11.啟用安全模式關閉數據庫

[root@dev01 ~]# ps -ef|grep mysqld
root    : ?  :: /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/dev01.pid
mysql   : ?  :: /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysqld.log --pid-file=/data/mysql/dev01.pid --socket=/tmp/mysql.sock
root   : pts/ :: grep mysqld
[root@dev01 ~]# mysqladmin -uroot -p shutdown
Enter password: 
[root@dev01 ~]# ps -ef|grep mysqld
root   : pts/ :: grep mysqld

12.各種刷新命令

[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-hosts
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-logs
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-privileges
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-status
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-tables
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-threads

13.停止和啟動MySQL從節點復制過程

[root@dev01 ~]# mysqladmin -u root -p stop-slave
[root@dev01 ~]# mysqladmin -u root -p start-slave

以上就是mysqladmin最常用的一些功能,標註為紅色的一般在工作中應用的范圍及其廣泛,可以多留意下。

以上就是MySQL mysqladmin客戶端的使用簡介的詳細內容,更多關於MySQL mysqladmin客戶端的資料請關註WalkonNet其它相關文章!

推薦閱讀: