我如何使用shell腳本存儲在linux下的MySQL數據庫我怎麼能存儲在linux下的MySQL數據庫使用shell腳本
腳本:
mysql -uusername -hhostname -ppassword -e "show databases"
我如何使用shell腳本存儲在linux下的MySQL數據庫我怎麼能存儲在linux下的MySQL數據庫使用shell腳本
腳本:
mysql -uusername -hhostname -ppassword -e "show databases"
我想你想要這樣的:http://lists.mysql.com/mysql/96132
mysql> use mysql
Database changed
mysql> tee /tmp/mysqltee
Logging to file '/tmp/mysqltee'
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| host |
| tables_priv |
| user |
+-----------------+
5 rows in set (0.02 sec)
mysql> notee
Outfile disabled.
mysql>
如果文件存在,輸出將被追加到現有文件(/ tmp/mysqltee)。
正如您所見,輸出也顯示在屏幕上。這可能不是 你想要什麼,尤其是如果產量大......你可以使用
mysql -e "select table_name from user_tables" database > output.txt
或
mysql database <script.sql> output.txt
從操作系統的命令行。 (您可能還需要使用-u,-p和/或-h,使用 同樣,當你做mysql客戶端的「正常」的開始。)
OP想從shell腳本做到這一點,而不進入mysql本身 – DaveyBoy 2015-02-24 14:58:47
它可以幫助你
#!/bin/bash
results=($(mysql --user root -pwelcome -Bse "show databases;"))
雖然這段代碼可以解決問題,[包括解釋](http: //meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高你的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – msrd0 2015-02-24 19:44:32
以下代碼將檢索名爲dbnames的變量的所有數據庫名稱。在此之後,它迭代只會呼應字符串與每個名稱分別
#!/bin/bash
dbnames=`mysql --user=user --password=password -se "show databases;"`
for x in $dbnames;
do
echo "There is a database called $x"
done;
如果我只想顯示數據庫名稱的值,應該使用什麼命令,假設第二個數據庫。 – 2015-02-25 05:37:31
*一個數據庫名稱 – 2015-02-25 05:40:02
向腳本引入requiredRow和count變量。通過循環進行每次迭代的遞增計數,並將其與requiredRow值進行比較。使用'requiredRow = $((requiredRow + 1))'執行增量。 – DaveyBoy 2015-02-25 10:29:07
我想所有的數據庫名稱存儲陣列,使得塔我可以給他們打電話,並使用循環由一個對所有的人一個執行查詢 – 2015-02-24 12:14:14
@adarshhota'shell_exec'是PHP函數,這個問題是關於shell腳本的 – 2015-02-24 12:51:06