MySQL執行sql查詢並上傳至遠端伺服器

2022-07-05 06:27:14 字數 777 閱讀 9469

最近專案中有需要做乙個shell指令碼,可以對乙個資料庫執行sql操作,並將結果轉為txt,篩選結果用tab隔開,儲存至乙個遠端伺服器上,以供其他人用excel讀取用txt中的內容。

mysql中將結果儲存下來,有兩種方案,一種是在sql語句中增加into outfile語句,並且可以定製化輸出的格式。但是這種方法留下的檔案在資料庫所在的伺服器上,而期望的是將檔案放在執行指令碼的機器上。

後來實現是不改變sql語句的內容,在指令碼中將結果儲存到本地/tmp目錄下,再用curl上傳到遠端伺服器上,下面抽出指令碼中主要的結構的**,檔案上傳或者編碼轉換之類的就不放了。

#! /bin/bash

db_host='

your_db_address

'db_port=3306

db_username='

user

'db_password='

password

'db_name='

your_db_name

'table_name='

your_table_name

'output_file='

/tmp/output.txt

'sql_stmt="

use $; \

select * from $"

mysql -h $db_host -p $db_port -u $db_username --password=$db_password -e "

$sql_stmt

" -b > $output_file

mysql自動備份並上傳至git倉庫

自動備份 資料庫備份的重要性再怎麼強調也不為過。當你的操作出現差錯,但又因為沒有作備份導致資料無法還原時,你就能體會到 萬念俱灰 的心情了。需求如下 實現方式很簡單 備份指令碼mysqldump.sh bin bash cd backup message date y m d mysqldump u...

mysql檢視sql執行過程 SQL查詢執行過程

mysql查詢執行過程客戶端向伺服器傳送請求 伺服器查詢快取,快取中命中則結束,將結果返回客戶端 返回前會檢查使用者許可權 否則繼續下邊步驟 伺服器端進行sql解析 預處理,再由優化器生成對應的執行計畫 根據執行計畫呼叫儲存引擎的api執行查詢 將結果返回客戶端 一 查詢快取 如果一條sql語句以s...

mysql執行語句 mysql執行sql語句過程

流程概述 mysql得到sql語句後,大概流程如下 1.sql的解析器 負責解析和 sql 2.預處理器 對解析後的sql樹進行驗證 3.查詢優化器 得到乙個執行計畫 4.查詢執行引擎 得到資料結果集 5.將資料放回給呼叫端。流程圖如下所示 分發器及快取階段 首先,如果系統的快取功能開啟著的話,sq...