[英]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
我知道命令sudo
和mysql
請解釋? 謝謝
讓我們一點一點地看它。 首先是格式
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_traffic
將lib.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.