最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysqladmin、mysqlshow、mysqlcheck的工具使用

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

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

mysqladmin

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

[root@localhost ~]# mysqladmin create ma_test;

同時(shí),它也可以用于查看一些服務(wù)器的狀態(tài)信息,比如說我們經(jīng)常會(huì)使用的 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

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

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

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

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

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

[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ì)的信息,這里寫了兩個(gè)會(huì)多出兩列,分別表示列的數(shù)據(jù)和行的數(shù)量。如果只有一個(gè) -v 的話,則只顯示列的數(shù)據(jù)信息。

mysqlcheck

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

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

僅僅檢查表狀態(tài)有意義嗎?這個(gè)工具的作用可不僅限于此,它還可以進(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 操作。不過這幾個(gè)操作更推薦在 MyISAM 上使用,效果也更好,而且更主要的是這些操作會(huì)鎖表,是非不得已情況下才要使用的命令和工具,所以大家先了解一下就好了。

總結(jié)

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

最新評論

芜湖县| 民勤县| 青田县| 荃湾区| 夏河县| 浦北县| 郓城县| 蒲江县| 多伦县| 山西省| 山丹县| 武宁县| 白山市| 中牟县| 理塘县| 乐东| 新乡市| 双柏县| 安丘市| 塔河县| 海阳市| 格尔木市| 托克逊县| 沙坪坝区| 株洲市| 中西区| 岗巴县| 东阿县| 广河县| 舟山市| 云阳县| 康马县| 江源县| 桂平市| 石楼县| 密山市| 铜梁县| 天峨县| 马鞍山市| 安国市| 乐安县|