docker容器mysql头文件_在Docker容器中使用MySQL数据库
開發過程中經常需要安裝、調試mysql數據庫,還需要在各種操作系上安裝包依賴,實在是繁瑣,因此就研究了一下如何在docker上運行一個mysql鏡像,省卻了我安裝、找依賴的問題。
注:本文所有內容均在CentOS?Linux release 7.2.1511 (Core) 上測試完成
假設,你已經安裝好docker。如果沒有安裝好docker可以參考centos7上安裝docker
使用docker?pull?mysql
獲得mysql鏡像,查看鏡像docker?images
啟動mysql鏡像docker?run?-itd?-P?mysql?bash
docker run是啟動容器的命令;i是交互式操作,t是一個終端,d指的是在后臺運行,-P指在本地生成一個隨機端口,用來映射mysql的3306端口,mysql指運行mysql鏡像,
bash指創建一個交互式shell。
使用查看已經運行的docker鏡像docker?ps?-a
從途中可以看到mysql鏡像的3306端口綁定了本地的32773端口,因此就說如果你要在局域網中訪問docker中的mysql數據庫就需要使用服務器IP:32773來進行訪問。
使用命令docker?exec?-it?sick_hawking?bash
連接到mysql鏡像中,docker?exec
是docker鏡像的連接命令,類似于ssh一樣的命令,sick_hawking是鏡像的名字,鏡像每次啟動都必須有一個名字,該名字可以手動指定也可以自己生成。
進入到了docker mysql鏡像中,查看mysql的啟動狀態service?mysql?status
mysql沒有啟動可以使用service?mysql?start
輸入mysql驗證mysql是否啟動成功.
到此為止,docker中的mysql已經啟動成功。
如何在外部使用root連接這個mysql?
為了安全,首先需要設置root帳號的密碼,如下update?user?set?authentication_string?=?password('root')?where?user?=?'root';
將root的密碼改為root。
接著,由于mysql中root執行綁定在了localhost,因此需要對root進行授權,代碼如下,GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'%'?IDENTIFIED?BY?'root'?WITH?GRANT?OPTION;
最后,使用navitecat測試mysql連接,
連接成功,說明docker中的mysql可以在局域網中使用。
總結
以上是生活随笔為你收集整理的docker容器mysql头文件_在Docker容器中使用MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 优化表的作用_mysql实战
- 下一篇: mysql union 出错_ORDER