簡體   English   中英

bash腳本命令將schema.sql注入mysql db

[英]bash script command to inject a schema.sql into mysql db

我找到了這段代碼,但不太了解命令在做什么。

sudo -u test-user mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql

我知道最后一部分是使用lib.model.schema.sql創建表和字段的第一部分我不太了解: sudo -u test-user mysql -U test_traffic traffic

我知道命令sudomysql

請解釋? 謝謝

讓我們一點一點地看它。 首先是格式

sudo -u username command

是作為用戶username運行command (可能是簡單的也可能是復雜的)的指令。 因此,在您的示例中,您以用戶test-user身份運行mysql命令。 您應該注意,這包括mysql命令的所有參數-這是該行的其余部分。

命令

mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql

似乎已損壞(肯定在5.0.51a上運行失敗)。 如果-U-u ,這將是有意義的,這將指示該命令將針對mysql用戶test_traffic執行。 如果它是-u ,則將有一條指令將sql文件導入到流量數據庫中。

因此,合並后的指令說,使用mysql用戶test_trafficlib.model.schema.sql文件導入數據庫test_traffic中,並執行整個命令,就像您以用戶test-user身份登錄一樣。

對於mysql,請嘗試以下步驟:

   mysql > -h hostname  -u username -p password

    mysql > use databasename;

    mysql > source path/to/scriptfile

如果要使用外殼程序腳本將theschema.sql文件注入數據庫,只需使用:

mysql -h [host] -u [username] -p[password] -D [database] < your_file

如果要動態確定應該加載哪個文件,請用$1替換your_file並將文件名作為參數傳遞給腳本。

還請注意-p選項。 -p和您的密碼之間沒有空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM