MySQL 的啟動和連接方式實(shí)例分析
本文實(shí)例講述了MySQL 的啟動和連接方式。分享給大家供大家參考,具體如下:
MySQL運(yùn)行包括兩部分,一部分是服務(wù)器端程序mysqld,另外一部分則是客戶端程序mysql。只有mysqld啟動了,mysql客戶端才能與之連接。mysqld的啟動方式有4種,同樣mysql的連接方式也有4種。
mysqld的啟動方式
方式1:mysqld
mysqld是一個可執(zhí)行命令,也是服務(wù)器端程序,啟動這個程序就相當(dāng)于啟動了MySQL服務(wù)器端的進(jìn)程。但這個命令不常用,常用mysqld_safe命令。
命令格式: mysqld [OPTIONS] 如: mysqld --defaults-file=/etc/my.cnf 查看幫助: mysqld --verbose --help
方式2:mysqld_safe
mysqld_safe是一個啟動腳本,間接引用mysqld。在啟動mysqld_safe腳本時,在啟動MySQL服務(wù)器進(jìn)程時,同時會啟動一個守護(hù)進(jìn)程,作用是監(jiān)控mysqld,如mysqld服務(wù)掛了后,會立即重啟一個mysqld服務(wù)。
另外,mysqld_safe啟動方式也會把運(yùn)行過程的報(bào)錯日志和其它一些診斷信息輸出到某一個文件中,這樣方便我們排查解決問題。這個啟動方式是最常用的方式。
命令格式: mysqld_safe [OPTIONS] & 如: mysqld_safe --defaults-file=/etc/my.cnf & 查看幫助: mysqld_safe --help
方式3:mysqld_multi
如需要在一臺主機(jī)運(yùn)行多個MySQL實(shí)例,則就可以使用mysqld_multi來對不同的mysqld服務(wù)進(jìn)行管理,這個啟動方式對MySQL集群很有幫助。
命令格式: mysqld_multi [OPTIONS] {start|reload|stop|report} [GNR,GNR,GNR...] 查看幫助: mysqld_multi --help
方式4:mysql.server
mysql.server也是一個啟動腳本,它會間接的調(diào)用mysqld_safe,在調(diào)用mysql.server時在后邊指定start參數(shù)就可以啟動服務(wù)器程序了。這個啟動方式一般是通過RPM包安裝的MySQL產(chǎn)生的。
mysql.server 文件其實(shí)是一個鏈接文件,它的實(shí)際文件是 ../support-files/mysql.server
命令格式: mysql.server start|restart|stop|status
mysql的連接方式
方式1:TCP/IP套接字
在類Unix和Windows操作系統(tǒng)下都可以使用,TCP/IP套接字是一個網(wǎng)絡(luò)協(xié)議,通過MySQL服務(wù)器啟動時監(jiān)聽一個端口,客戶端啟動連接時指明MySQL服務(wù)器的主機(jī)IP+端口即可實(shí)現(xiàn)連接。
此種通信方式,MySQL服務(wù)器和客戶端可以部署在不同主機(jī)上,也是最常用的一種連接方式。
mysql -h主機(jī)IP -P端口 -u用戶 -p 如: mysql -h127.0.0.1 -P3306 -uroot -p
方式2:Unix套接字
僅限類Unix操作系統(tǒng)下使用,Unix套接字不是網(wǎng)絡(luò)協(xié)議,只能在MySQL服務(wù)器和客戶端在同一個主機(jī)上才能使用。
如果我們在啟動客戶端程序的時候指定的主機(jī)名為localhost,或者指定了--protocol=socket的啟動參數(shù),那服務(wù)器程序和客戶端程序之間就可以通過Unix域套接字文件來進(jìn)行通信了。
MySQL服務(wù)器程序默認(rèn)監(jiān)聽的Unix域套接字文件路徑為/tmp/mysql.sock,客戶端程序也默認(rèn)連接到這個Unix域套接字文件。
1. mysql -uroot -p //默認(rèn)通過socket通信 缺省localhost 2. mysql -hlocalhost -uroot -p 3. mysql -S socket文件路徑 -uroot -p 如: mysql -S /var/run/mysqld/mysqld.sock -uroot -p
查看socket文件位置: show variables like 'socket';
方式3:命名管道
僅限類Windows操作系統(tǒng)下使用,只能在MySQL服務(wù)器和客戶端在同一個主機(jī)上才能使用。
需要在啟動服務(wù)器程序的命令中加上--enable-named-pipe參數(shù),然后在啟動客戶端程序的命令中加入--pipe或者--protocol=pipe參數(shù)。
–enable-named-pipe=on/off;
方式4:共享內(nèi)存
僅限類Windows操作系統(tǒng)下使用,只能在MySQL服務(wù)器和客戶端在同一個主機(jī)上才能使用。
需要在啟動服務(wù)器程序的命令中加上--shared-memory參數(shù),在成功啟動服務(wù)器后,共享內(nèi)存便成為本地客戶端程序的默認(rèn)連接方式,不過我們也可以在啟動客戶端程序的命令中加入--protocol=memory參數(shù)來顯式的指定使用共享內(nèi)存進(jìn)行通信。
–shared-memory=on/off;
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。
- MySQL 的啟動選項(xiàng)和系統(tǒng)變量實(shí)例詳解
- CentOS 7.0如何啟動多個MySQL實(shí)例教程(mysql-5.7.21)
- MYSQL慢查詢和日志實(shí)例講解
- MySQL將select結(jié)果執(zhí)行update的實(shí)例教程
- mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的完整實(shí)例
- springboot配置mysql連接的實(shí)例代碼
- MySQL如何優(yōu)雅的刪除大表實(shí)例詳解
- MySQL觸發(fā)器的使用場景及方法實(shí)例
- MySQL找出未提交事務(wù)的SQL實(shí)例淺析
- MySQL 實(shí)例無法啟動的問題分析及解決
相關(guān)文章
MySQL數(shù)據(jù)庫存儲引擎的應(yīng)用
存儲引擎是MySQL將數(shù)據(jù)存儲在文件系統(tǒng)中的存儲方式,本文主要介紹了MySQL數(shù)據(jù)庫的存儲引擎的應(yīng)用,具有一定的參考價值,感興趣的可以了解一下2024-03-03MySQL客戶端軟件(DBeaver)連接報(bào)錯解決方案
DBeaver是一個開源的通用數(shù)據(jù)庫管理工具,可以連接多種不同類型的數(shù)據(jù)庫,本文主要介紹了MySQL客戶端軟件(DBeaver)連接報(bào)錯解決方案,具有一定的參考價值,感興趣的可以了解一下2024-04-04MySQL性能優(yōu)化的最佳20+條經(jīng)驗(yàn)
這篇文章主要為大家詳細(xì)介紹了MySQL性能優(yōu)化的最佳20+條經(jīng)驗(yàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09解決windows service 2012阿里云服務(wù)器在搭建mysql時缺少msvcr100.dll文件的問題
這篇文章主要介紹了解決windows service 2012阿里云服務(wù)器在搭建mysql時缺少msvcr100.dll文件的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02Mysql事物鎖等待超時Lock wait timeout exceeded;的解決
本文主要介紹了Mysql事物鎖等待超時Lock wait timeout exceeded;的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03