① 使用python編寫伺服器端和客戶端 求大神幫忙
大多數情況, 要麼是你linux上iptables拒絕掉了, 要麼就是你的程序只是監聽了某一個不是你客戶端所訪問的ip, 比如只監聽了127.0.0.1
② 如何用python開發一個ssh客戶端工具
1)通過paramiko的ssh模塊連接指定主機;
2)通過SSHClient.exec_command在遠程主機上執行命令;
3)通過exec_command返回的stdout,stdin,stderr進行交互;
4)保存成功連接的主機信息(session),可以通過ls命令查看,sessionid命令,直接啟動新連接;
5)可在windows和linux下運行,寫程序時需要注意他們的差別。
代碼ssh.py
#!/usr/bin/python
#-*-coding:utf-8-*-
importos,sys
importparamiko
importthreading
importplatform
curr_ssh=None
curr_prompt=">>"
#使用說明
defprintUsage():
print"!ls:listsessions."
print"!sessionid:connectsession."
print"!connhostuserpassword:connecthostwithuser."
print"!exit:exit."
#連接
defconn(ip,username,passwd):
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
print"Connectto",ip,"with",username
globalcurr_prompt
curr_prompt=username+"@"+ip+">>"
returnssh
except:
returnNone
#載入以前的連接信息
sessions=[]
defloadSessions():
globalsessions
try:
f=open("sessions")
sessions=f.readlines()
f.close()
except:
pass
#執行本地命令,ssh.py的命令
defexe_cmd_local(cmd):
if(cmd=="!ls"):
loadSessions()
globalsessions
i=0
print"Sessions:"
forsinsessions:
print"[%d]%s"%(i,s)
i+=1
else:
vals=cmd.split('')
if(vals[0]=="!session"):
id=(int)(vals[1])
if(id<len(sessions)):os_name="platform.system()"new_console_cmd=""if(os_name="=""linux"):="".=""ssh.py="""=""+=""sessions[id]+"""=""elif(os_name="=""windows"):=""sessions[id]=""os.system(new_console_cmd)=""else:=""print="""didn't=""hava=""sessoin=""",vals[1]=""elif(vals[0]="="!conn"):"global=""curr_ssh=""f="open("sessions","a")"line="vals[1]+"""+vals[2]+"="""+vals[3]+" "=""f.write(line)=""f.close()=""#在ssh連接的主機上執行命令=""def=""exe_cmd_ssh(ssh,cmd):=""if(ssh="="none):=""connect=""to=""a=""server.=""use=""'!conn'=""please."=""return=""stdin,=""stdout,=""stderr="ssh.exec_command(cmd)"#stdin.write("y")=""#簡單交互,輸入=""『y』=""#屏幕輸出=""stdout.read()=""stderr.read()=""#入口函數=""if=""__name__="='__main__':"loadsessions()=""if(len(sys.argv)="=4):"printusage()=""while=""true:=""cmd="raw_input(curr_prompt)"if(len(cmd)="=0):"continue=""if(cmd="=""!exit"):=""if(curr_ssh=""!="None):"curr_ssh.close();=""break=""if(cmd[0]="="'!'):=""exe_cmd_local(cmd)=""exe_cmd_ssh(curr_ssh,cmd)<=""pre="">
③ 如何使用python 開發一個api
使用 Python 和 Flask 設計 RESTful API
近些年來 REST (REpresentational State Transfer) 已經變成了 web services 和 web APIs 的標配。
在本文中我將向你展示如何簡單地使用 Python 和 Flask 框架來創建一個 RESTful 的 web service。
什麼是 REST?
六條設計規范定義了一個 REST 系統的特點:
客戶端-伺服器: 客戶端和伺服器之間隔離,伺服器提供服務,客戶端進行消費。
無狀態: 從客戶端到伺服器的每個請求都必須包含理解請求所必需的信息。換句話說, 伺服器不會存儲客戶端上一次請求的信息用來給下一次使用。
可緩存: 伺服器必須明示客戶端請求能否緩存。
分層系統: 客戶端和伺服器之間的通信應該以一種標準的方式,就是中間層代替伺服器做出響應的時候,客戶端不需要做任何變動。
統一的介面: 伺服器和客戶端的通信方法必須是統一的。
按需編碼: 伺服器可以提供可執行代碼或腳本,為客戶端在它們的環境中執行。這個約束是唯一一個是可選的。
什麼是一個 RESTful 的 web service?
REST 架構的最初目的是適應萬維網的 HTTP 協議。
RESTful web services 概念的核心就是「資源」。 資源可以用URI來表示。客戶端使用 HTTP 協議定義的方法來發送請求到這些 URIs,當然可能會導致這些被訪問的」資源「狀態的改變。
HTTP 標準的方法有如下:
REST 設計不需要特定的數據格式。在請求中數據可以以JSON形式, 或者有時候作為 url 中查詢參數項。
設計一個簡單的 web service
堅持 REST 的准則設計一個 web service 或者 API 的任務就變成一個標識資源被展示出來以及它們是怎樣受不同的請求方法影響的練習。
比如說,我們要編寫一個待辦事項應用程序而且我們想要為它設計一個 web service。要做的第一件事情就是決定用什麼樣的根 URL 來訪問該服務。例如,我們可以通過這個來訪問:
http://[hostname]/todo/api/v1.0/
在這里我已經決定在 URL 中包含應用的名稱以及 API 的版本號。在 URL 中包含應用名稱有助於提供一個命名空間以便區分同一系統上的其它服務。在 URL 中包含版本號能夠幫助以後的更新,如果新版本中存在新的和潛在不兼容的功能,可以不影響依賴於較舊的功能的應用程序。
下一步驟就是選擇將由該服務暴露(展示)的資源。這是一個十分簡單地應用,我們只有任務,因此在我們待辦事項中唯一的資源就是任務。
我們的任務資源將要使用 HTTP 方法如下:
我們定義的任務有如下一些屬性:
id: 任務的唯一標識符。數字類型。
title: 簡短的任務描述。字元串類型。
description: 具體的任務描述。文本類型。
done: 任務完成的狀態。布爾值。
目前為止關於我們的 web service 的設計基本完成。剩下的事情就是實現它!
Flask 框架的簡介
如果你讀過Flask Mega-Tutorial 系列,就會知道 Flask 是一個簡單卻十分強大的 Python web 框架。
在我們深入研究 web services 的細節之前,讓我們回顧一下一個普通的 Flask Web 應用程序的結構。
我會首先假設你知道 Python 在你的平台上工作的基本知識。 我將講解的例子是工作在一個類 Unix 操作系統。簡而言之,這意味著它們能工作在 Linux,Mac OS X 和 Windows(如果你使用Cygwin)。 如果你使用 Windows 上原生的 Python 版本的話,命令會有所不同。
讓我們開始在一個虛擬環境上安裝 Flask。如果你的系統上沒有 virtualenv,你可以從https://pypi.python.org/pypi/virtualenv上下載:
既然已經安裝了 Flask,現在開始創建一個簡單地網頁應用,我們把它放在一個叫 app.py 的文件中:
為了運行這個程序我們必須執行 app.py:
現在你可以啟動你的網頁瀏覽器,輸入http://localhost:5000看看這個小應用程序的效果。
簡單吧?現在我們將這個應用程序轉換成我們的 RESTful service!
使用 Python 和 Flask 實現 RESTful services
使用 Flask 構建 web services 是十分簡單地,比我在Mega-Tutorial中構建的完整的服務端的應用程序要簡單地多。
在 Flask 中有許多擴展來幫助我們構建 RESTful services,但是在我看來這個任務十分簡單,沒有必要使用 Flask 擴展。
我們 web service 的客戶端需要添加、刪除以及修改任務的服務,因此顯然我們需要一種方式來存儲任務。最直接的方式就是建立一個小型的資料庫,但是資料庫並不是本文的主體。學習在 Flask 中使用合適的資料庫,我強烈建議閱讀Mega-Tutorial。
這里我們直接把任務列表存儲在內存中,因此這些任務列表只會在 web 伺服器運行中工作,在結束的時候就失效。 這種方式只是適用我們自己開發的 web 伺服器,不適用於生產環境的 web 伺服器, 這種情況一個合適的資料庫的搭建是必須的。
我們現在來實現 web service 的第一個入口:
正如你所見,沒有多大的變化。我們創建一個任務的內存資料庫,這里無非就是一個字典和數組。數組中的每一個元素都具有上述定義的任務的屬性。
取代了首頁,我們現在擁有一個 get_tasks 的函數,訪問的 URI 為 /todo/api/v1.0/tasks,並且只允許 GET 的 HTTP 方法。
這個函數的響應不是文本,我們使用 JSON 數據格式來響應,Flask 的 jsonify 函數從我們的數據結構中生成。
使用網頁瀏覽器來測試我們的 web service 不是一個最好的注意,因為網頁瀏覽器上不能輕易地模擬所有的 HTTP 請求的方法。相反,我們會使用 curl。如果你還沒有安裝 curl 的話,請立即安裝它。
通過執行 app.py,啟動 web service。接著打開一個新的控制台窗口,運行以下命令:
我們已經成功地調用我們的 RESTful service 的一個函數!
現在我們開始編寫 GET 方法請求我們的任務資源的第二個版本。這是一個用來返回單獨一個任務的函數:
第二個函數有些意思。這里我們得到了 URL 中任務的 id,接著 Flask 把它轉換成 函數中的 task_id 的參數。
我們用這個參數來搜索我們的任務數組。如果我們的資料庫中不存在搜索的 id,我們將會返回一個類似 404 的錯誤,根據 HTTP 規范的意思是 「資源未找到」。
如果我們找到相應的任務,那麼我們只需將它用 jsonify 打包成 JSON 格式並將其發送作為響應,就像我們以前那樣處理整個任務集合。
調用 curl 請求的結果如下:
當我們請求 id #2 的資源時候,我們獲取到了,但是當我們請求 #3 的時候返回了 404 錯誤。有關錯誤奇怪的是返回的是 HTML 信息而不是 JSON,這是因為 Flask 按照默認方式生成 404 響應。由於這是一個 Web service 客戶端希望我們總是以 JSON 格式回應,所以我們需要改善我們的 404 錯誤處理程序:
我們會得到一個友好的錯誤提示:
接下來就是 POST 方法,我們用來在我們的任務資料庫中插入一個新的任務:
添加一個新的任務也是相當容易地。只有當請求以 JSON 格式形式,request.json 才會有請求的數據。如果沒有數據,或者存在數據但是缺少 title 項,我們將會返回 400,這是表示請求無效。
接著我們會創建一個新的任務字典,使用最後一個任務的 id + 1 作為該任務的 id。我們允許 description 欄位缺失,並且假設 done 欄位設置成 False。
我們把新的任務添加到我們的任務數組中,並且把新添加的任務和狀態 201 響應給客戶端。
使用如下的 curl 命令來測試這個新的函數:
注意:如果你在 Windows 上並且運行 Cygwin 版本的 curl,上面的命令不會有任何問題。然而,如果你使用原生的 curl,命令會有些不同:
當然在完成這個請求後,我們可以得到任務的更新列表:
剩下的兩個函數如下所示:
④ python開發的客戶端依賴於環境嗎
用py2exe, pyinstaller等都可以將python開發的桌面程序(即客戶端)與PVM(即Win環境下的pythonxx.dll)打包到一起,發布到用戶電腦上時是完全可以脫離 python 環境運行的,不過體積比較大,4,5MB左右。
⑤ 請問各位大大,Python如何編寫websocket的服務端和客戶端,wss的那種
自己開發websocket的服務端和客戶端不是不可以,就是短時間內難以做出來穩定性高的服務。
如果真要自己開發也不是不行,python下可以用的websocket或者channels來開發websocket,具體如何實現你網路一下就有很多教程了。
不過如果是在商業項目中運用的話,穩定性、高並發性是需要著重考慮的,可以嘗試下第三方的websocket推送服務的。
我們項目現在集成的是【GoEasy】websocket推送,目前使用良好,穩定性這些都不錯。
⑥ 請問python 後端開發一般需要什麼技術
第一階段:Python語言基礎
主要學習Python最基礎知識,如Python3、數據類型、字元串、函數、類、文件操作等。階段課程結束後,學員需要完成Pygame實戰飛機大戰、2048等項目。
第二階段:Python語言高級
主要學習Python庫、正則表達式、進程線程、爬蟲、遍歷以及MySQL資料庫。
第三階段:Pythonweb開發
主要學習HTML、CSS、JavaScript、jQuery等前端知識,掌握python三大後端框架(Django、 Flask以及Tornado)。需要完成網頁界面設計實戰;能獨立開發網站。
第四階段:Linux基礎
主要學習Linux相關的各種命令,如文件處理命令、壓縮解壓命令、許可權管理以及Linux Shell開發等。
第五階段:Linux運維自動化開發
主要學習Python開發Linux運維、Linux運維報警工具開發、Linux運維報警安全審計開發、Linux業務質量報表工具開發、Kali安全檢測工具檢測以及Kali 密碼破解實戰。
第六階段:Python爬蟲
主要學習python爬蟲技術,掌握多線程爬蟲技術,分布式爬蟲技術。
第七階段:Python數據分析和大數據
主要學習numpy數據處理、pandas數據分析、matplotlib數據可視化、scipy數據統計分析以及python 金融數據分析;Hadoop HDFS、python Hadoop MapRece、python Spark core、python Spark SQL以及python Spark MLlib。
第八階段:Python機器學習
主要學習KNN演算法、線性回歸、邏輯斯蒂回歸演算法、決策樹演算法、樸素貝葉斯演算法、支持向量機以及聚類k-means演算法。
關於python後端開發需要學什麼的內容,青藤小編就和您分享到這里了。如果您對python編程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關於python編程的技巧及素材等內容,可以點擊本站的其他文章進行學習。
⑦ python後端開發需要學什麼
第一階段:Python語言基礎
主要學習Python最基礎知識,如Python3、數據類型、字元串、函數、類、文件操作等。階段課程結束後,學員需要完成Pygame實戰飛機大戰、2048等項目。
第二階段:Python語言高級
主要學習Python庫、正則表達式、進程線程、爬蟲、遍歷以及MySQL資料庫。
第三階段:Pythonweb開發
主要學習HTML、CSS、JavaScript、jQuery等前端知識,掌握python三大後端框架(Django、 Flask以及Tornado)。需要完成網頁界面設計實戰;能獨立開發網站。
第四階段:Linux基礎
主要學習Linux相關的各種命令,如文件處理命令、壓縮解壓命令、許可權管理以及Linux Shell開發等。
第五階段:Linux運維自動化開發
主要學習Python開發Linux運維、Linux運維報警工具開發、Linux運維報警安全審計開發、Linux業務質量報表工具開發、Kali安全檢測工具檢測以及Kali 密碼破解實戰。
第六階段:Python爬蟲
主要學習python爬蟲技術,掌握多線程爬蟲技術,分布式爬蟲技術。
第七階段:Python數據分析和大數據
主要學習numpy數據處理、pandas數據分析、matplotlib數據可視化、scipy數據統計分析以及python 金融數據分析;Hadoop HDFS、python Hadoop MapRece、python Spark core、python Spark SQL以及python Spark MLlib。
第八階段:Python機器學習
主要學習KNN演算法、線性回歸、邏輯斯蒂回歸演算法、決策樹演算法、樸素貝葉斯演算法、支持向量機以及聚類k-means演算法。
關於python後端開發需要學什麼的內容,青藤小編就和您分享到這里了。如果您對python編程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關於python編程的技巧及素材等內容,可以點擊本站的其他文章進行學習。
⑧ python伺服器一個客戶端轉發到另一個客戶端
伺服器端創建2個soket對象分別綁定不同的埠用於和A,B連接, 然後將recv到A的數據send給B。
python實現一個客戶端與服務端的通信 Socket對象方法: 服務端: 使用socket函數來創建一個socket對象,並設置一個socket服務。
Python是一種解釋型腳本語言,其在設計上也堅持了清晰劃一的風格,這使得Python成為易讀、易維護的語言。相比於其他語言,Python中的語言語法和語義要簡單得多,而且代碼也具有可讀性。在大多數情況下,為了解決某一特定的問題,Python編寫所需代碼,要比其他流行語言所需的代碼少得多。因此,對於新手來說,Python是一種很容易上手,並便於維護的語言。
⑨ python網路編程tcp客戶端怎麼寫
大多數連接都是可靠的TCP連接。創建TCP連接時,主動發起連接的叫客戶端,被動響應連接的叫伺服器。
舉個例子,當我們在瀏覽器中訪問新浪時,我們自己的計算機就是客戶端,瀏覽器會主動向新浪的伺服器發起連接。如果一切順利,新浪的伺服器接受了我們的連接,一個TCP連接就建立起來的,後面的通信就是發送網頁內容了。
所以,我們要創建一個基於TCP連接的Socket,可以這樣做:
# 導入socket庫:
import socket
# 創建一個socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立連接:
s.connect(( , 80))
創建Socket時,AF_INET指定使用IPv4協議,如果要用更先進的IPv6,就指定為AF_INET6。SOCK_STREAM指定使用面向流的TCP協議,這樣,一個Socket對象就創建成功,但是還沒有建立連
⑩ window 下 濤思客戶端的安裝配置 Python程序如何連接上濤思客戶端
立即開始
快捷安裝
TDengine 包括服務端、客戶端和周邊生態工具軟體,目前 2.0 版服務端僅在 Linux 系統上安裝和運行,後續將支持 Windows、macOS 等系統。客戶端可以在 Windows 或 Linux 上安裝和運行。在任何操作系統上的應用都可以使用 RESTful 介面連接服務端程序 taosd,其中 2.4 之後版本默認使用單獨運行的獨立組件 taosAdapter 提供 http 服務和更多數據寫入方式。taosAdapter 需要手動啟動。 之前版本 TDengine 服務端,以及所有服務端lite版,均使用內置 http 服務。
TDengine 支持 X64/ARM64/MIPS64/Alpha64 硬體平台,後續將支持 ARM32、RISC-V 等 CPU 架構。
通過 Docker 容器安裝
docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp tdengine/tdengine
詳細操作方法請參照通過 Docker 快速體驗 TDengine。
註:暫時不建議生產環境採用 Docker 來部署 TDengine 的客戶端或服務端,但在開發環境下或初次嘗試時,使用 Docker 方式部署是十分方便的。特別是,利用 Docker,可以方便地在 macOS 和 Windows 環境下嘗試 TDengine。
從 2.4.0.10 開始,除 taosd 以外,Docker 鏡像還包含:taos、taosAdapter、taosmp、taosBenchmark、TDinsight 安裝腳本和示例代碼。啟動 Docker 容器時,將同時啟動 taosAdapter 和 taosd,實現對 RESTful 的支持。
通過安裝包安裝
TDengine 的安裝非常簡單,從下載到安裝成功僅僅只要幾秒鍾。
為方便使用,從 2.4.0.10 開始,標準的服務端安裝包包含了 taos、taosd、taosAdapter、taosmp、taosBenchmark、TDinsight 安裝腳本和示例代碼;如果您只需要用到服務端程序和客戶端連接的 C/C++ 語言支持,也可以僅下載 lite 版本的安裝包。
在安裝包格式上,我們提供 tar.gz, rpm 和 deb 格式,為企業客戶提供 tar.gz 格式安裝包,以方便在特定操作系統上使用。需要注意的是,rpm 和 deb 包不含 taosmp、taosBenchmark 和 TDinsight 安裝腳本,這些工具需要通過安裝 taosTool 包獲得。
發布版本包括穩定版和 Beta 版,Beta 版含有更多新功能。正式上線或測試建議安裝穩定版。您可以根據需要選擇下載:
TDengine-server-2.4.0.12-Linux-x64.rpm (14.5 M)
TDengine-server-2.4.0.12-Linux-x64.deb (12.8 M)
TDengine-server-2.4.0.12-Linux-x64.tar.gz (15.5 M)
TDengine-server-2.4.0.12-Linux-x64-Lite.tar.gz (3.4 M)
TDengine-server-2.3.5.0-beta-Linux-x64-Lite.tar.gz (3 M)
TDengine-server-2.3.5.0-beta-Linux-x64.rpm (18.4 M)
TDengine-server-2.3.5.0-beta-Linux-x64.deb (16.8 M)
TDengine-server-2.3.5.0-beta-Linux-x64.tar.gz (18.8 M)
具體的安裝方法,請參見TDengine 多種安裝包的安裝和卸載以及視頻教程。
請點擊這里查看 release notes。
使用 apt-get 安裝
如果使用 Debian 或 Ubuntu 系統,也可以使用 apt-get 工具從官方倉庫安裝,設置方法為:
僅安裝客戶端
如果客戶端和服務端運行在不同的電腦上,可以單獨安裝客戶端。下載時請注意,所選擇的客戶端版本號應該和在上面下載的服務端版本號嚴格匹配。Linux 和 Windows 安裝包如下(其中 lite 版本的安裝包僅帶有 C/C++ 語言的連接支持,而標准版本的安裝包還包含和示例代碼):
TDengine-client-2.4.0.12-Linux-x64.tar.gz (8.2 M)
TDengine-client-2.4.0.12-Windows-x64.exe (9 M)
TDengine-client-2.4.0.12-Windows-x86.exe (9 M)
TDengine-client-2.4.0.12-Linux-x64-Lite.tar.gz (3.1 M)
TDengine-client-2.3.5.0-beta-Linux-x64-Lite.tar.gz (2.7 M)
TDengine-client-2.3.5.0-beta-Linux-x64.tar.gz (7.6 M)
TDengine-client-2.3.5.0-beta-Windows-x64.exe (8.9 M)
TDengine-client-2.3.5.0-beta-Windows-x86.exe (8.8 M)
通過源碼安裝
如果您希望對 TDengine 貢獻代碼或對內部實現感興趣,請參考我們的TDengine GitHub 主頁下載源碼構建和安裝.
下載其他組件、最新 Beta 版及之前版本的安裝包,請點擊這里
輕松啟動
安裝成功後,用戶可使用systemctl命令來啟動 TDengine 的服務進程。
檢查服務是否正常工作:
如果 TDengine 服務正常工作,那麼您可以通過 TDengine 的命令行程序taos來訪問並體驗 TDengine。
注意:
systemctl 命令需要root許可權來運行,如果您非root用戶,請在命令前添加 sudo 。
為更好的獲得產品反饋,改善產品,TDengine 會採集基本的使用信息,但您可以修改系統配置文件 taos.cfg 里的配置參數 telemetryReporting,將其設為 0,就可將其關閉。
TDengine 採用 FQDN(一般就是 hostname)作為節點的 ID,為保證正常運行,需要給運行 taosd 的伺服器配置好 hostname,在客戶端應用運行的機器配置好 DNS 服務或 hosts 文件,保證 FQDN 能夠解析。
systemctl stop taosd指令在執行後並不會馬上停止 TDengine 服務,而是會等待系統中必要的落盤工作正常完成。在數據量很大的情況下,這可能會消耗較長時間。
TDengine 支持在使用systemd做進程服務管理的 Linux 系統上安裝,用which systemctl命令來檢測系統中是否存在systemd包:
如果系統中不支持systemd,也可以用手動運行/usr/local/taos/bin/taosd方式啟動 TDengine 服務。
使用 TDengine 客戶端程序
執行 TDengine 客戶端程序,您只要在 Linux 終端執行taos即可。
如果連接服務成功,將會列印出歡迎消息和版本信息。如果失敗,則會列印錯誤消息出來(請參考FAQ來解決終端連接服務端失敗的問題)。客戶端的提示符號如下:
在 TDengine 客戶端中,用戶可以通過 SQL 命令來創建/刪除資料庫、表等,並進行插入查詢操作。在終端中運行的 SQL 語句需要以分號結束來運行。示例:
除執行 SQL 語句外,系統管理員還可以從 TDengine 客戶端進行檢查系統運行狀態、添加刪除用戶賬號等操作。
命令行參數
您可通過配置命令行參數來改變 TDengine 客戶端的行為。以下為常用的幾個命令行參數:
-c, --config-dir: 指定配置文件目錄,默認為/etc/taos
-h, --host: 指定服務的 FQDN 地址或 IP 地址,默認為連接本地服務
-s, --commands: 在不進入終端的情況下運行 TDengine 命令
-u, --user: 連接 TDengine 服務端的用戶名,預設為 root
-p, --password: 連接 TDengine 服務端的密碼,預設為 taosdata
-?, --help: 列印出所有命令行參數
示例:
運行 SQL 命令腳本
TDengine 終端可以通過SOURCE命令來運行 SQL 命令腳本。
taos shell 小技巧
可以使用上下游標鍵查看歷史輸入的指令
修改用戶密碼:在 shell 中使用ALTER USER命令,預設密碼為 taosdata
Ctrl+C 中止正在進行中的查詢
執行RESET QUERY CACHE可清除本地緩存的表 schema
批量執行 SQL 語句。可以將一系列的 shell 命令(以英文 ; 結尾,每個 SQL 語句為一行)按行存放在文件里,在 shell 里執行命令SOURCE <file-name>自動執行該文件里所有的 SQL 語句
輸入 q 回車,退出 taos shell
TDengine 極速體驗
使用 taosBenchmark 體驗寫入速度
啟動 TDengine 的服務,在 Linux 終端執行taosBenchmark(曾命名為 taosdemo)。taosBenchmark 在 TDengine 2.4.0.7 和之前發布版本在 taosTools 安裝包中發布提供,在後續版本中 taosBenchmark 將在 TDengine 標准安裝包中發布。
該命令將在資料庫 test 下面自動創建一張超級表 meters,該超級表下有 1 萬張表,表名為 "d0" 到 "d9999",每張表有 1 萬條記錄,每條記錄有 (ts, current, voltage, phase) 四個欄位,時間戳從 "2017-07-14 10:40:00 000" 到 "2017-07-14 10:40:09 999",每張表帶有標簽 location 和 groupId,groupId 被設置為 1 到 10, location 被設置為 "beijing" 或者 "shanghai"。
這條命令很快完成 1 億條記錄的插入。具體時間取決於硬體性能,即使在一台普通的 PC 伺服器往往也僅需十幾秒。
taosBenchmark 詳細功能列表
taosBenchmark 命令本身帶有很多選項,配置表的數目、記錄條數等等,請執行taosBenchmark --help詳細列出。您可以設置不同參數進行體驗。
taosBenchmark 詳細使用方法請參照如何使用 taosBenchmark 進行性能測試。
使用 taos shell 體驗查詢速度