mysql.sock作為mysql的套接字一般用于本地連接數(shù)據(jù)庫,在速度上優(yōu)于TCP/IP連接。一般放置在/tmp/mysql.sock目錄下,我們先查看下它的內(nèi)容:
[root@ tmp]# ll -i | grep mysql
85 srwxrwxrwx 1 mysql mysql 0 Apr 18 15:03 mysql.sock
可以看到它的內(nèi)容大小為0,即沒有存儲任何的內(nèi)容,此時我們通過mysql -uroot -p來訪問(即默認的-h localhost)可以訪問成功數(shù)據(jù)庫。
但當我們新建一個相似的mysql.sock的時候,卻無法替代原有的空文件:
mv mysql.sock mysql.sock.bak
# 創(chuàng)建新的mysql socket文件
mksock mysql.sock
chown mysql:mysql mysql.sock
chmod 777 mysql.sock
# 展示對比兩個mysql.sock
[root@ tmp]# ll -i | grep mysql
85 srwxrwxrwx 1 mysql mysql 0 Apr 18 15:03 mysql.sock.bak
37 srwxrwxrwx 1 mysql mysql 0 Aug 20 20:35 mysql.sock
再次訪問本地數(shù)據(jù)庫:
[root@ tmp]# mysql -uroot -p -hlocalhost
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
兩者內(nèi)容除了inode號不一樣外,完全一樣,但卻不能使用mysql訪問本地數(shù)據(jù)庫了,新的socket為什么不能代替原有的socket文件,這個文件到底存儲了什么,又是怎么跟數(shù)據(jù)庫互相認證的?
思考良久,有了自己的解釋,但由于沒有看linux對socket的具體設(shè)計和實現(xiàn)代碼,不一定正確,詳情查看:https://segmentfault.com/a/11...
想要看具體實現(xiàn)的可以參考linux源碼:http://man7.org/linux/man-pag...
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。