欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysqladmin、mysqlshow、mysqlcheck的工具使用

 更新時間:2024年07月05日 10:28:03   作者:碼農(nóng)老張Zy  
我們一般使用mysql客戶端工具來進(jìn)行日常的數(shù)據(jù)庫操作,本文主要介紹了mysqladmin、mysqlshow、mysqlcheck的工具使用,具有一定的參考價值,感興趣的可以了解一下

在日常的使用中,我們一般使用 mysql 客戶端工具來進(jìn)行日常的數(shù)據(jù)庫操作,但其實(shí),整個 MySQL 系統(tǒng)所提供的客戶端工具遠(yuǎn)不止 mysql 一個。今天,我們就來簡單地了解一下另外三個工具,分別是 mysqladmin、mysqlshow、mysqlcheck 。

mysqladmin

mysqladmin 這個命令行工具其實(shí)大家應(yīng)該多少會接觸過一點(diǎn),它的作用是用于管理操作一些服務(wù)器配置和當(dāng)前的狀態(tài)信息,并且可以創(chuàng)建數(shù)據(jù)庫。比如說我們?nèi)?chuàng)建一個新數(shù)據(jù)庫。

[root@localhost ~]# mysqladmin create ma_test;

同時,它也可以用于查看一些服務(wù)器的狀態(tài)信息,比如說我們經(jīng)常會使用的 processlist ,就可以直接使用 mysqladmin 來查看。

[root@localhost ~]# mysqladmin  processlist
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+
| Id | User            | Host      | db | Command | Time  | State                  | Info             |
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+
| 5  | event_scheduler | localhost |    | Daemon  | 11752 | Waiting on empty queue |                  |
| 18 | root            | localhost |    | Query   | 0     | init                   | show processlist |
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+

當(dāng)然,還有更多的功能,比如說修改密碼、查看變量信息、關(guān)閉服務(wù)、刷新表等等功能。這里就不一一進(jìn)行演示了,有興趣的小伙伴可以自己嘗試一下。

mysqlshow

這個客戶端工具主要是用于快速顯示數(shù)據(jù)庫信息,可以看到數(shù)據(jù)庫是否存在表或者表的列以及索引信息。它的作用其實(shí)非常類似于在 mysql 中的 SHOW 的作用。

[root@localhost ~]# mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| ma_test            |
| mysql              |
| performance_schema |
| sys                |
| test               |
| test1              |
+--------------------+

直接使用這個工具,其實(shí)就是類似于 SHOW DATABASES; 的作用。在上面顯示的內(nèi)容中,可以看到前面我們剛剛使用 mysqladmin 創(chuàng)建的 ma_test 庫。我們也可以指定數(shù)據(jù)庫名稱,這樣就可以看到這個數(shù)據(jù)庫下的表信息。

[root@localhost ~]# mysqlshow test
Database: test
+----------+
|  Tables  |
+----------+
| db_test  |
| raw_test |
| t        |
+----------+

接下來我們再把表名指定上,直接就可以獲取到這個表中列字段的信息。

[root@localhost ~]# mysqlshow test t
Database: test  Table: t
+-------+------+-----------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges                      | Comment |
+-------+------+-----------+------+-----+---------+-------+---------------------------------+---------+
| id    | int  |           | YES  |     |         |       | select,insert,update,references |         |
+-------+------+-----------+------+-----+---------+-------+---------------------------------+---------+

非常有意思吧,可以直接在命令行中就獲取到庫、表、列的信息。另外我們還可以加一些參數(shù),看到更詳細(xì)的信息。

[root@localhost ~]# mysqlshow test -v -v
Database: test
+----------+----------+------------+
|  Tables  | Columns  | Total Rows |
+----------+----------+------------+
| db_test  |        3 |          9 |
| raw_test |        3 |          0 |
| t        |        1 |          1 |
+----------+----------+------------+
3 rows in set.

-v 參數(shù)代表的是 --verbose 的簡寫,它的作用是顯示詳細(xì)的信息,這里寫了兩個會多出兩列,分別表示列的數(shù)據(jù)和行的數(shù)量。如果只有一個 -v 的話,則只顯示列的數(shù)據(jù)信息。

mysqlcheck

最后我們再來看看 mysqlcheck 這個工具,它的作用是進(jìn)行表的維護(hù),可以檢查、修復(fù)、優(yōu)化或者分析表。沒錯,也是我們可以在 mysql 客戶端中進(jìn)行的一些操作,在這里可以直接通過這個外部命令行工具來實(shí)現(xiàn)。

[root@localhost ~]# mysqlcheck --all-databases
mysql.columns_priv                                 OK
mysql.component                                    OK
mysql.db                                           OK
mysql.default_roles                                OK
mysql.engine_cost                                  OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.global_grants                                OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.password_history                             OK
mysql.plugin                                       OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.replication_asynchronous_connection_failover OK
mysql.replication_asynchronous_connection_failover_managed OK
mysql.replication_group_configuration_version      OK
mysql.replication_group_member_actions             OK
mysql.role_edges                                   OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
sys.sys_config                                     OK
test.db_test                                       OK
test.raw_test                                      OK
test.t                                             OK


[root@localhost ~]# mysqlcheck test
test.db_test                                       OK
test.raw_test                                      OK
test.t                                             OK

這個命令行工具如果不指定數(shù)據(jù)庫名稱的話,就需要使用 --all-databases 參數(shù),這樣就會檢查所有庫中的所有表,如果指定了數(shù)據(jù)庫名稱的話,就會檢查指定數(shù)據(jù)庫中的表。每一個表后面的 OK 就是表示表狀態(tài)正常。

僅僅檢查表狀態(tài)有意義嗎?這個工具的作用可不僅限于此,它還可以進(jìn)行  CHECK TABLE,REPAIR TABLE,ANALYZE TABLE 和 OPTIMIZE TABLE 這些操作,只需要增加相應(yīng)的參數(shù)即可,比如說我們使用 OPTIMIZE 去優(yōu)化表空間。

[root@localhost ~]# mysqlcheck -o test tt
test.tt                                            OK

-o 表示的就是 --optimize 的意思,其實(shí)實(shí)際就是在 mysql 客戶端中我們執(zhí)行針對 tt 表的 OPTIMIZE TABLE 操作。不過這幾個操作更推薦在 MyISAM 上使用,效果也更好,而且更主要的是這些操作會鎖表,是非不得已情況下才要使用的命令和工具,所以大家先了解一下就好了。

總結(jié)

一口氣看了三個客戶端工具,非常簡單,但是其實(shí)在我們的日常工作中卻并不是很常見。一般來說可能在一些自己寫的 shell 運(yùn)維工具腳本中才能見到它們的身影。除了這三個之外,其實(shí)還有一些其它的客戶端工具,像是非常常用的 mysqldump ,這個工具我們在將來學(xué)習(xí) MySQL 備份相關(guān)的內(nèi)容時再進(jìn)行深入的學(xué)習(xí)。

參考文檔:

https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html

https://dev.mysql.com/doc/refman/8.0/en/mysqlcheck.html#option_mysqlcheck_optimize

https://dev.mysql.com/doc/refman/8.0/en/mysqlshow.html

到此這篇關(guān)于mysqladmin、mysqlshow、mysqlcheck的工具使用的文章就介紹到這了,更多相關(guān)mysqladmin mysqlshow mysqlcheck內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 檢查MySQL中的列是否為空或Null的常用方法

    檢查MySQL中的列是否為空或Null的常用方法

    在MySQL數(shù)據(jù)庫中,我們經(jīng)常需要檢查某個列是否為空或Null,空值表示該列沒有被賦值,而Null表示該列的值是未知的或不存在的,在本文中,我們將討論如何在MySQL中檢查列是否為空或Null,并探討不同的方法和案例,需要的朋友可以參考下
    2023-11-11
  • MySQL server has gone away 問題的解決方法

    MySQL server has gone away 問題的解決方法

    MySQL server has gone away 問題解決方法,需要的朋友可以參考下。
    2010-06-06
  • Mysql| 使用通配符進(jìn)行模糊查詢詳解(like,%,_)

    Mysql| 使用通配符進(jìn)行模糊查詢詳解(like,%,_)

    這篇文章主要介紹了Mysql| 使用通配符進(jìn)行模糊查詢詳解(like,%,_),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • MySQL實(shí)現(xiàn)MYISAM表批量壓縮的方法

    MySQL實(shí)現(xiàn)MYISAM表批量壓縮的方法

    這篇文章主要介紹了MySQL實(shí)現(xiàn)MYISAM表批量壓縮的方法,實(shí)例分析了MySQL使用shell命令批量壓縮MYISAM表的相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • MySQL <>和<=> 運(yùn)算符介紹

    MySQL <>和<=> 運(yùn)算符介紹

    這篇文章主要介紹了MySQL <>和<=> 運(yùn)算符介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 如何保護(hù)MySQL中重要數(shù)據(jù)的方法

    如何保護(hù)MySQL中重要數(shù)據(jù)的方法

    在日常的工作中,保護(hù)數(shù)據(jù)免受未授權(quán)用戶的侵犯是系統(tǒng)管理員特別關(guān)心的問題。如果你目前用的是MySQL,就可以使用一些方便的功能來保護(hù)系統(tǒng),來大大減少機(jī)密數(shù)據(jù)被未授權(quán)用戶訪問的風(fēng)險
    2011-10-10
  • MySQL數(shù)據(jù)歸檔小工具mysql_archiver詳解

    MySQL數(shù)據(jù)歸檔小工具mysql_archiver詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)歸檔小工具mysql_archiver詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Mysql主從GTID與binlog如何使用

    Mysql主從GTID與binlog如何使用

    MySQL的GTID和binlog是實(shí)現(xiàn)高效數(shù)據(jù)復(fù)制和恢復(fù)的重要機(jī)制,GTID保證事務(wù)的唯一標(biāo)識,避免復(fù)制沖突;binlog記錄數(shù)據(jù)變更,用于主從復(fù)制和數(shù)據(jù)恢復(fù),兩者配合,提高M(jìn)ySQL復(fù)制的準(zhǔn)確性和管理便捷性
    2024-10-10
  • Ubuntu系統(tǒng)安裝與配置MySQL

    Ubuntu系統(tǒng)安裝與配置MySQL

    這篇文章介紹了Ubuntu系統(tǒng)安裝與配置MySQL的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • mysql 5.7.17 安裝配置方法圖文教程(windows10)

    mysql 5.7.17 安裝配置方法圖文教程(windows10)

    這篇文章主要為大家分享了mysql 5.7.17 安裝配置方法圖文教程,具有一定的參考價值,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論