mysqlshell和mysql一樣么?不一樣,mysqlshell是舊mysql命令行客戶端的一大進(jìn)步。
mysqlshell是mysql的高級(jí)客戶端和代碼編輯器,除了提供的mysql功能外,mysqlshell還提供了以下功能:
1、支持的語言
mysqlshell處理用JavaScript、Python和SQL編寫的代碼。根據(jù)當(dāng)前活動(dòng)的語言,任何執(zhí)行的代碼都將作為這些語言之一進(jìn)行處理。還有一些特定的mysqlshell命令,前綴為\,使我們能夠配置mysqlshell,而不管當(dāng)前選擇的語言如何。
2、交互式代碼執(zhí)行
mysqlshell提供了一種交互式代碼執(zhí)行模式,我們可以在mysqlshell提示符下鍵入代碼并處理每個(gè)輸入的語句,并將處理結(jié)果打印在屏幕上。如果使用的終端支持,則支持Unicode文本輸入,支持彩色終端。
可以使用命令編寫多行代碼,使mysqlshell能夠緩存多行,然后將它們作為單個(gè)語句執(zhí)行。
3、批處理代碼執(zhí)行
除了代碼的交互執(zhí)行之外,mysqlshell還可以從不同的來源獲取代碼并對(duì)其進(jìn)行處理。這種以非交互方式處理代碼的方法稱為批處理執(zhí)行。
由于批處理執(zhí)行模式旨在用于單一語言的腳本處理,因此僅限于具有最少的非格式化輸出并禁用命令的執(zhí)行。為了避免這些限制,請(qǐng)使用--interactive命令行選項(xiàng),它告訴mysqlshell執(zhí)行輸入,就好像它是一個(gè)交互式會(huì)話一樣。在這種模式下,輸入被逐行處理,就好像每一行都是在交互式會(huì)話中鍵入的一樣。
4、支持的API
mysqlshell包括以下用JavaScript和Python實(shí)現(xiàn)的API,我們可以使用它們來開發(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語言。我們可以在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命令語法公開其大部分功能,使我們能夠輕松地將mysqlsh與其他工具集成。例如,可以創(chuàng)建bash腳本來管理具有此功能的InnoDB集群。使用語法將操作直接傳遞給mysqlshell全局對(duì)象,繞過 REPL 接口。
9、輸出格式
mysqlshell可以以表格、選項(xiàng)卡或垂直格式或JSON輸出形式返回結(jié)果。為了幫助將mysqlshell與外部工具集成,我們可以在從命令行啟動(dòng) mysqlshell時(shí)為所有輸出激活JSON包裝。
10、記錄和調(diào)試
mysqlshell可以在我選擇的詳細(xì)級(jí)別記錄有關(guān)執(zhí)行過程的信息。日志信息可以發(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ì)象來表示此連接。這個(gè)會(huì)話被稱為全局會(huì)話,因?yàn)樗梢栽谒衜ysqlshell執(zhí)行模式中使用。
總結(jié):mysqlshell和mysql一樣么?答案是不一樣的,mysqlshell比mysql更有優(yōu)勢(shì)。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號(hào) IDC證:B1-20230800.移動(dòng)站