2017-10-05 99 views
0

我看到工作臺顯示正在運行的導入和導出命令,我想在獨立腳本中的另一臺機器上運行該命令。不幸的是,腳本似乎引用了一個臨時的「默認文件」,並且在命令運行後不可訪問......似乎工作臺每次運行該命令時都會動態創建這個extraparams.cnf文件..因此它會使其變得困難爲我在其他地方重現此命令如何從mysql workbench之外的mysql工作臺運行導入或導出命令?

13:45:52 Restoring /Users/wes/dumps/Dump20170907.sql 
Running: /Applications/MySQLWorkbench.app/Contents/MacOS/mysql --defaults-file="/var/folders/x1/8vgyglcd0hv44_5fdlqj1zssm53dzs/T/tmpsmXKI3/extraparams.cnf" --protocol=tcp --host=server.edu --user=riuser --port=3306 --default-character-set=utf8 --comments --database=prd2 < "/Users/wes/dumps/Dump20170907.sql" 
13:46:02 Import of /Users/wes/dumps/Dump20170907.sql has finished 

有什麼建議嗎?

謝謝。

BTW:我對沒有響應mysql的論壇上張貼這在一個月前: https://forums.mysql.com/read.php?152,660219

回答

1

的默認文件通常包含用戶名和密碼。忽略工作臺在做什麼,從頭開始學習會更容易。

加密密碼

假設命令在mysql本地主機上運行...

mysqldump prd2 --single-transaction --routines --master-data=2 > prd2.sql 
mysql prd2 < prd2.sql 

根據需要添加其他選項。

如果在Linux/Unix上,並且它是一個大型數據庫,請考慮nohup <command> &,以便將其置於後臺,因此您不必看空閒終端。

+0

感謝凱文的內容。你提供了很好的信息和建議。我還應該補充一點,我發現以下技巧可以在我的shell中獲取mysql和mysqldump: ln -s /Applications/MySQLWorkbench.app/Contents/MacOS/mysqldump〜/ bin/mysqldump ln -s /應用程序/MySQLWorkbench.app/Contents/MacOS/mysql〜/ bin/mysql – Wes

1

雖然我同意Kevin Bott接受的答案,但這是我在Mac上做了一個殘酷的黑客來窺探默認文件extraparams.cnf的內容。

任何用戶創建一個文件夾可寫

cd /tmp 
mkdir hack 
chmod a+xw hack 

執行MySQL工作臺出口一旦離開出口進度選項卡打開

替換用假轉儲內容的出口使用mysqldump的二進制默認的文件(請參閱導出進度日誌,查找正確的路徑,以你的情況使用)

cd /private/var/folders/ks/vmng3tc51nb43xkklk7jjxxh0000gn/T/ 
mv AppTranslocation AppTranslocation.orig 
mkdir -p AppTranslocation/10D5E741-FD2F-4247-9CEE-E8A82D8EE23F/d/MySQLWorkbench.app/Contents/MacOS 
cd AppTranslocation/10D5E741-FD2F-4247-9CEE-E8A82D8EE23F/d/MySQLWorkbench.app/Contents/MacOS 

vim mysqldump 

    1 #!/bin/bash 
    2 if [ $1 = '--version' ] 
    3 then 
    4  echo 'mysqldump Ver 10.13 Distrib 5.6.23, for osx10.8 (x86_64)' 
    5  exit 0 
    6 fi 
    7 
    8 VALUE=`echo $1 | sed 's/^[^=]*=//g'` 
    9 cat $VALUE > /tmp/hack/extraparams.cnf 

chmod +x mysqldump 

點擊「導出再次」在出口進度選項卡

檢查捕獲.CNF文件

cd /tmp/hack 
cat extraparams.cnf 
+0

不錯!所以除了登錄憑證之外還有什麼有趣的內容? – Wes