一、導出數據外部
1)mysql連接+將查詢結果輸出到文件。在命令行中執行(windows的cmd命令行,mac的終端)
mysql -hxx -uxx -pxx -e "query statement" db > file
-h:後面跟的是鏈接的host(主機)
-u:後面跟的是用戶名
-p:後面跟的是密碼
db:你要查詢的數據庫
file:你要寫入的文件,絕對路徑
例如:
下面將 sql語句 select * from edu_iclass_areas 的查詢結果輸出到了 /Users/zhengcanrui/WORK/test/test.xls 這個文件中。
mysql -h127.0.0.1 -uroot -p123 -e "select * from edu_iclass_areas" test > /Users/zhengcanrui/WORK/test/test.xls
2)mysql連接 和 將查詢結果輸出到數據庫分開執行
mysql -hxxx -uxx -pxx select * from table into outfile 'xxx.txt';
-h/-u/-p 的參數都沒的內容和上面一致, xxx.txt 是要輸出的文件路徑及其名稱。
如:
-- 登錄mysql mysql -h127.0.0.1 -uroot -p123 -- 將查詢結果輸出到文件中 select * from edu_iclass_areas into outfile /Users/zhengcanrui/WORK/test/test.xls
上面兩種的執行效果是等價的。
二、遇到的問題
1、mac在終端啟動mysql的命令
1)安裝好MySQL服務後(安裝步驟可以參考系列經驗1)。打開“系統偏好設置”,單擊下端的“MySQL”圖標。
2)在“MySQL”對話框中,單擊“啟動MySQL服務”按鈕
3)在Finder的側邊欄中單擊“應用程序”,然後在“實用工具”中,雙擊啟動“終端”命令。
4)在終端中輸入添加MySQL路徑的命令:
PATH="$PATH":/usr/local/mysql/bin
5)在終端登錄到MySQL的命令如下:
mysql -u root -p
2、Access denied for user 'mysql用戶名'@'主機或IP' (using password: YES)'
原因:
mysql的權限對localhost的訪問沒有放開。
可以使用如下命令來放開權限(授權):
首先進入到mysql的客戶端命令行。
然後輸入:
1:你想使用mysql的用戶名myuser從任何主機連接到mysql服務器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; flush privileges;
2:你想使用mysql的用戶名myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; flush privileges;
執行完這兩條命令就可以。