1.使用以下命令從docker Hub去下載MySQL官方提供的docker鏡像。默認tag是latest。
docker pull mysql
如果要使用其它tag,則示例如下. "8.0"是tag。什么是tag?tag就是版本號。
docker pull mysql:8.0
2.使用以下命令啟動容器.
docker run --name='sky-mysql' -e 'MYSQL_ROOT_PASSWORD=abcd2019' -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql:8.0
注意:以上命令加了“-p 3306:3306”,這是要把容器的3306端口號與宿主機的3306端口做一個映射。
敲黑板啦,划重點了。
安裝了MySQL的數據庫之類的,我們往往要從遠程訪問數據,但MySQL在docker的官方幫助頁面沒有提供相關命令的使用例子。
在上面的命令當中,“-e MYSQL_ROOT_HOST=%” 這個選項就是用來設置允許遠程訪問的。
在網上搜到一些帖子,提供了其它方法,但試過之后,還是這個方法最管用。
3.進入MySQL容器。
sudo docker exec -it sky-mysql bash
4.在MySQL 容器內部,登錄MySQL DB.
如果不用docker,我們安裝好了MySQL要做的第一件事往往是登錄MySQL。只不過現在這一步是在docker容器里面操作的。
看到下面的-uroot不? root是用戶名 ; -p 代表着按了回車后要輸入root用戶的密碼。
root用戶如果不記得,請回憶第二條命令的這個選項:-e 'MYSQL_ROOT_PASSWORD=abcd2019'。
mysql -uroot -p
5.使用以下SQL語句去測試,看看我們的MySQL是否真的安裝好了。這是在MySQL容器內部操作的。
show databases;
6. 創建一個新的數據庫。依然是在MySQL容器內部操作的。
create database galaxy;
7.打開Navicate Premum,連接MySQL。
如上圖,能看見我們剛才創建的galaxy數據庫,這說明遠程連接是成功的。
參考鏈接:
遠程連接docker MySQL
https://medium.com/@backslash112/start-a-remote-mysql-server-with-docker-quickly-9fdff22d23fd
MySQL docker官方幫助頁面