< 返回新聞公共列表

mysqlshell和mysql一樣么?

發(fā)布時(shí)間:2022-11-18 14:26:51

mysqlshell和mysql一樣么?不一樣,mysqlshell是舊mysql命令行客戶端的一大進(jìn)步。


mysqlshell是mysql的高級(jí)客戶端和代碼編輯器,除了提供的mysql功能外,mysqlshell還提供了以下功能:


mysqlshell和mysql一樣么?.jpg


1、支持的語(yǔ)言

mysqlshell處理用JavaScript、Python和SQL編寫的代碼。根據(jù)當(dāng)前活動(dòng)的語(yǔ)言,任何執(zhí)行的代碼都將作為這些語(yǔ)言之一進(jìn)行處理。還有一些特定的mysqlshell命令,前綴為\,使我們能夠配置mysqlshell,而不管當(dāng)前選擇的語(yǔ)言如何。


2、交互式代碼執(zhí)行

mysqlshell提供了一種交互式代碼執(zhí)行模式,我們可以在mysqlshell提示符下鍵入代碼并處理每個(gè)輸入的語(yǔ)句,并將處理結(jié)果打印在屏幕上。如果使用的終端支持,則支持Unicode文本輸入,支持彩色終端。

可以使用命令編寫多行代碼,使mysqlshell能夠緩存多行,然后將它們作為單個(gè)語(yǔ)句執(zhí)行。


3、批處理代碼執(zhí)行

除了代碼的交互執(zhí)行之外,mysqlshell還可以從不同的來(lái)源獲取代碼并對(duì)其進(jìn)行處理。這種以非交互方式處理代碼的方法稱為批處理執(zhí)行。

由于批處理執(zhí)行模式旨在用于單一語(yǔ)言的腳本處理,因此僅限于具有最少的非格式化輸出并禁用命令的執(zhí)行。為了避免這些限制,請(qǐng)使用--interactive命令行選項(xiàng),它告訴mysqlshell執(zhí)行輸入,就好像它是一個(gè)交互式會(huì)話一樣。在這種模式下,輸入被逐行處理,就好像每一行都是在交互式會(huì)話中鍵入的一樣。


4、支持的API

mysqlshell包括以下用JavaScript和Python實(shí)現(xiàn)的API,我們可以使用它們來(lái)開發(fā)與mysql交互的代碼。


5、X協(xié)議支持

mysqlshell旨在為所有支持X協(xié)議的mysql產(chǎn)品提供一個(gè)集成的命令行客戶端。mysqlshell的開發(fā)特性是為使用X協(xié)議的會(huì)話而設(shè)計(jì)的。mysqlshell也可以使用經(jīng)典的mysql協(xié)議連接到不支持X協(xié)議的 mysql服務(wù)器。X DevAPI 中的一組最小功能可用于使用經(jīng)典mysql協(xié)議創(chuàng)建的會(huì)話。


6、擴(kuò)展

我們可以以報(bào)告和擴(kuò)展對(duì)象的形式定義對(duì)mysqlshell基本功能的擴(kuò)展??梢允褂?JavaScript 或 Python 創(chuàng)建報(bào)告和擴(kuò)展對(duì)象,并且可以使用任何活動(dòng)的mysqlshell語(yǔ)言。我們可以在mysqlshell啟動(dòng)時(shí)自動(dòng)加載的插件中持久保存報(bào)告和擴(kuò)展對(duì)象。mysqlshell有幾個(gè)可以使用的內(nèi)置報(bào)告。


7、實(shí)用程序

mysqlshell包括以下用于使用mysql的實(shí)用程序:

(1)一個(gè)升級(jí)檢查器實(shí)用程序,用于驗(yàn)證mysql服務(wù)器實(shí)例是否已準(zhǔn)備好升級(jí)。

(2)一個(gè)JSON導(dǎo)入實(shí)用程序,用于將JSON文檔導(dǎo)入mysql服務(wù)器集合或表。

(3)一個(gè)并行表導(dǎo)入實(shí)用程序,它拆分單個(gè)數(shù)據(jù)文件并使用多個(gè)線程將塊加載到mysql表中。


8、API命令行集成

mysqlshell使用API命令語(yǔ)法公開其大部分功能,使我們能夠輕松地將mysqlsh與其他工具集成。例如,可以創(chuàng)建bash腳本來(lái)管理具有此功能的InnoDB集群。使用語(yǔ)法將操作直接傳遞給mysqlshell全局對(duì)象,繞過(guò) REPL 接口。


9、輸出格式

mysqlshell可以以表格、選項(xiàng)卡或垂直格式或JSON輸出形式返回結(jié)果。為了幫助將mysqlshell與外部工具集成,我們可以在從命令行啟動(dòng) mysqlshell時(shí)為所有輸出激活JSON包裝。


10、記錄和調(diào)試

mysqlshell可以在我選擇的詳細(xì)級(jí)別記錄有關(guān)執(zhí)行過(guò)程的信息。日志信息可以發(fā)送到應(yīng)用程序日志文件、其他可查看目標(biāo)和控制臺(tái)的任意組合。


11、全球會(huì)議

在mysqlshell中,與mysql服務(wù)器實(shí)例的連接由會(huì)話對(duì)象處理。當(dāng)我們第一次連接到mysql服務(wù)器實(shí)例時(shí),可以在啟動(dòng)mysqlshell時(shí)或之后完成,sessio創(chuàng)建一個(gè)名為的mysqlshell全局對(duì)象來(lái)表示此連接。這個(gè)會(huì)話被稱為全局會(huì)話,因?yàn)樗梢栽谒衜ysqlshell執(zhí)行模式中使用。


總結(jié):mysqlshell和mysql一樣么?答案是不一樣的,mysqlshell比mysql更有優(yōu)勢(shì)。


/template/Home/Zkeys724/PC/Static