掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
在日常的開(kāi)發(fā)工作中,Shell與數(shù)據(jù)庫(kù)的連接是很常見(jiàn)的需求。本文將詳細(xì)介紹Shell與三種不同類(lèi)型的數(shù)據(jù)庫(kù)的連接方法,幫助開(kāi)發(fā)者快速上手。

成都創(chuàng)新互聯(lián)公司公司2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元橫縣做網(wǎng)站,已為上家服務(wù),為橫縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
1. Shell與MySQL的連接方法
MySQL是一種常用的關(guān)系型數(shù)據(jù)庫(kù),與Shell的連接方法如下所示:
“`
#!/bin/bash
# Shell連接MySQL
mysql -u username -p password -h hostname -P port databasename -e ‘select * from tablename;’
“`
其中,`username`代表MySQL登錄名,`password`代表密碼,`hostname`代表服務(wù)器地址,`port`代表端口號(hào),`databasename`代表數(shù)據(jù)庫(kù)名,`tablename`代表表名。`-e`參數(shù)表示執(zhí)行SQL語(yǔ)句。
如果需要在Shell腳本中執(zhí)行多個(gè)SQL語(yǔ)句,可以使用`
“`
#!/bin/bash
# Shell連接MySQL
mysql -u username -p password -h hostname -P port databasename
use databasename;
select * from tablename;
EOF
“`
2. Shell與Oracle的連接方法
Oracle是一種常用的企業(yè)級(jí)關(guān)系型數(shù)據(jù)庫(kù),與Shell的連接方法如下所示:
“`
#!/bin/bash
# Shell連接Oracle
sqlplus username/password@’//hostname:port/SID’
select * from tablename;
exit;
EOF
“`
其中,`username`代表Oracle登錄名,`password`代表密碼,`hostname`代表服務(wù)器地址,`port`代表端口號(hào),`SID`代表Oracle實(shí)例名,`tablename`代表表名。`
3. Shell與MongoDB的連接方法
MongoDB是一種常用的文檔數(shù)據(jù)庫(kù),與Shell的連接方法如下所示:
“`
#!/bin/bash
# Shell連接MongoDB
mongo –username username –password password –host hostname –port port –authenticationDatabase authdb –eval ‘db.tablename.find()’
“`
其中,`username`代表MongoDB登錄名,`password`代表密碼,`hostname`代表服務(wù)器地址,`port`代表端口號(hào),`authdb`代表認(rèn)證數(shù)據(jù)庫(kù)名,`tablename`代表表名。`–eval`參數(shù)表示執(zhí)行JavaScript代碼。
如果需要在Shell腳本中執(zhí)行多個(gè)JavaScript代碼,可以使用`–shell`的方式:
“`
#!/bin/bash
# Shell連接MongoDB
mongo –username username –password password –host hostname –port port –authenticationDatabase authdb –shell
use databasename
db.tablename.find()
exit
EOF
“`
本文介紹了Shell與MySQL、Oracle和MongoDB三種不同類(lèi)型的數(shù)據(jù)庫(kù)的連接方法,希望可以幫助開(kāi)發(fā)者解決實(shí)際問(wèn)題。需要注意的是,不同的數(shù)據(jù)庫(kù)有不同的連接方式,需要根據(jù)具體的情況進(jìn)行調(diào)整。
相關(guān)問(wèn)題拓展閱讀:
分析:這是典型的socket沒(méi)有正確設(shè)置的情況。
連接MySQL數(shù)據(jù)庫(kù)有兩種方式:TCP/IP(一般理解的端口的那種)和Unix套接字(一般叫socket或者sock)。大部分情況下,可以用localhost代表本機(jī)127.0.0.1,但是在MySQL連接時(shí),二者不可混用,而且MySQL中權(quán)限設(shè)置中l(wèi)ocalhost與127.0.0.1也是分開(kāi)設(shè)置的。當(dāng)設(shè)置為127.0.0.1時(shí),系統(tǒng)通過(guò)TCP/IP方式連接數(shù)據(jù)庫(kù);當(dāng)設(shè)置為localhost時(shí),系統(tǒng)通過(guò)socket方式連接數(shù)據(jù)庫(kù)。雀派正
解決:首先要看本機(jī)MySQL的socket套接字文件在哪里,查看命令是:
mysqld –verbose –help | grep socket
輸出結(jié)果顯示套接字文件的位置,比如:這臺(tái)服務(wù)器顯示的是
socket /var/run/mysqld/mysqld.sock
然后修改php的配置文件php.ini與之對(duì)應(yīng)起來(lái)就好了。
找到這一項(xiàng):
mysql.default_socket =
一般來(lái)說(shuō)這一項(xiàng)都是空的,改成:
mysql.default_socket = /羨饑var/run/mysqld/mysqld.sock
這里應(yīng)寫(xiě)上一步查詢(xún)到的文件,根據(jù)你的情況設(shè)置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的話,立即就生效,如頃悔果是FASTCGI方式,需要重啟一下fastcgi進(jìn)程。
shell的怎么連接數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于shell的怎么連接數(shù)據(jù)庫(kù),Shell與數(shù)據(jù)庫(kù)的連接方法詳解:快速上手,Xshell5 怎么連接本地?cái)?shù)據(jù)庫(kù)localhost。windows7系統(tǒng)下的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流