在docker中使用mysql數據庫,在局域網訪問


1.獲取mysql鏡像

docker pull mysql:5.6

注意:此處之所以獲取mysql5.6是因為mysql5.7在centos7中啟動可能會報錯

2.查看鏡像列表

docker images

3.啟動mysql鏡像

docker run -itd -P mysql:5.6 bash

其中 docker run是啟動容器的命令;i是交互式操作,t是一個終端,d指的是在后台運行,

-P指在本地生成一個隨機端口,用來映射mysql的3306端口,mysql指運行mysql鏡像,bash指創建一個交互式shell。

4.查看已經運行的docker鏡像

docker ps -a

從圖中可以看到mysql鏡像的3306端口綁定了本地的32769端口,因此就說如果你要在局域網中訪問docker中的mysql數據庫就需要使用服務器IP:32769來進行訪問。

5.連接到mysql鏡像中

docker exec -it relaxed_hodgkin bash

docker exec 是docker鏡像的連接命令,類似於ssh一樣的命令,relaxed_hodgkin是鏡像的名字,鏡像每次啟動都必須有一個名字,該名字可以手動指定也可以自己生成。

連接成功以后,如下圖,已經進入到了docker mysql鏡像中

 

6.查看mysql的啟動狀態,如上圖就顯示mysql沒啟動

service mysql status

7.mysql沒有啟動可以使用以下命令啟動,如圖所示啟動成功

service mysql start

8.輸入mysql 驗證mysql是否啟動成功

到此為止,docker中的mysql已經啟動成功。

 9.如何在外部使用root連接這個mysql?   為了安全,首先需要設置root帳號的密碼,如下

update user set authentication_string = password('root') where user = 'root';

這時會報以下錯誤

是因為沒有選擇數據庫,要在上面的命令之前執行下面這句,就可以將root的密碼改為root。 

use mysql;

10.由於mysql中root執行綁定在了localhost,因此需要對root進行授權

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

11.最后,使用SQLyog測試mysql連接,如下

連接成功,說明docker中的mysql可以在局域網中使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM