1.獲取mysql鏡像
注意:此處之所以獲取mysql5.6是因?yàn)閙ysql5.7在centos7中啟動(dòng)可能會(huì)報(bào)錯(cuò)
2.查看鏡像列表
3.啟動(dòng)mysql鏡像
docker run -itd -P mysql:5.6 bash
其中 docker run是啟動(dòng)容器的命令;i是交互式操作,t是一個(gè)終端,d指的是在后臺(tái)運(yùn)行,
-P指在本地生成一個(gè)隨機(jī)端口,用來映射mysql的3306
端口,mysql指運(yùn)行mysql鏡像,bash指創(chuàng)建一個(gè)交互式shell。
4.查看已經(jīng)運(yùn)行的docker鏡像
![](/d/20211016/8b3be8db485a9415845d6ba80426bdd2.gif)
從圖中可以看到mysql鏡像的3306端口綁定了本地的32769端口,因此就說如果你要在局域網(wǎng)中訪問docker中的mysql數(shù)據(jù)庫就需要使用服務(wù)器IP:32769來進(jìn)行訪問。
5.連接到mysql鏡像中
docker exec -it relaxed_hodgkin bash
docker exec 是docker鏡像的連接命令,類似于ssh一樣的命令,relaxed_hodgkin是鏡像的名字,鏡像每次啟動(dòng)都必須有一個(gè)名字,該名字可以手動(dòng)指定也可以自己生成。
連接成功以后,如下圖,已經(jīng)進(jìn)入到了docker mysql鏡像中
![](/d/20211016/dce4463e871a1a838dac32287ec43ebc.gif)
6.查看mysql的啟動(dòng)狀態(tài),如上圖就顯示mysql沒啟動(dòng)
7.mysql沒有啟動(dòng)可以使用以下命令啟動(dòng),如圖所示啟動(dòng)成功
![](/d/20211016/b77e85ff91519d3b93d9ecff62df3fde.gif)
8.輸入mysql 驗(yàn)證mysql是否啟動(dòng)成功
![](/d/20211016/c0671f949a7e3d8748e19229315dde20.gif)
到此為止,docker中的mysql已經(jīng)啟動(dòng)成功。
9.如何在外部使用root連接這個(gè)mysql? 為了安全,首先需要設(shè)置root帳號(hào)的密碼,如下
update user set authentication_string = password('root') where user = 'root';
這時(shí)會(huì)報(bào)以下錯(cuò)誤
![](/d/20211016/1c2f1a0ab2d3ef003f64681edec2e534.gif)
是因?yàn)闆]有選擇數(shù)據(jù)庫,要在上面的命令之前執(zhí)行下面這句,就可以將root
的密碼改為root
。
10.由于mysql中root執(zhí)行綁定在了localhost
,因此需要對root進(jìn)行授權(quán)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
11.最后,使用SQLyog測試mysql連接,如下
![](/d/20211016/da968afa123a94c8d4668dc5c935943e.gif)
連接成功,說明docker中的mysql可以在局域網(wǎng)中使用。
到此這篇關(guān)于docker中使用mysql數(shù)據(jù)庫實(shí)現(xiàn)局域網(wǎng)訪問的文章就介紹到這了,更多相關(guān)docker對mysql數(shù)據(jù)庫操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!