mysql 官方docker映象使用教程

2021-08-03 08:17:38 字數 1345 閱讀 9000

首先是pull image,這裡我拉取的是5.x版本最新版:

docker pull mysql:5

拉下來以後大可以按照官方的說明無腦啟動,但是外部無法訪問,所以繫結埠:

docker run --name mysql -p 12345:3306 -e mysql_root_password=my-secret-pw -d mysql:5.6.35

docker run --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag

試著用客戶端連線,成功了,查詢mysql.user表發現允許從任何地方用root訪問,這特麼也太不安全了!

果斷連線到bash:

docker exec -it mysql bash

執行mysql,竟然有!

使用自定義配置檔案

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e mysql_root_password=my-secret-pw -d mysql:tag

使用自定義資料目錄

docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e mysql_root_password=my-secret-pw -d mysql:tag

使用自定義日誌目錄

docker run --name some-mysql -v /my/own/logdir:/var/log/mysql -e mysql_root_password=my-secret-pw -d mysql:tag

資料表備份

docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$mysql_root_password"' > /some/path/on/your/host/all-databases.sql

下面就是基本的操作,收回root許可權,建庫,開使用者……

等等,資料庫檔案在哪??還有,字符集不是utf-8??閱讀官方文件,得知/etc/mysql/conf.d下可以自定義配置檔案,於是乎自己建了乙個my.cnf,重新執行:

$ sudo docker run --name mysql -p 12345:3306 -v $docker_runtime/mysql/data:/var/lib/mysql -v $docker_runtime/mysql/conf:/etc/mysql/conf.d -d mysql:5.6.35

這裡順便改了資料庫檔案的目錄,$docker_runtime是我自己定義的環境變數,各位可以自行指定。

ok~

mysql 官方映象 執行官方mysql 映象

目前最新的為mysql 8 sudo docker run itd restart unless stopped net host name mysql p3306 3306 e mysql root password root mysql mysql 官方docker 需要重新設定密碼,否則無法遠...

使用docker官方映象安裝mysql服務

使用docker官方映象安裝mysql服務 1 拉取mysql映象,採用網易加速位址 2 重新命名映象名 3 建立用於掛載的目錄 sudo mkdir my mysql datadir 用於掛載mysql資料檔案 sudo mkdir my mysql conf.d 用於掛載mysql配置檔案 su...

Docker 中國官方映象加速

docker 中國官方映象加速可通過 registry.docker cn.com 訪問。該映象庫只包含流行的公有映象。私有映象仍需要從美國映象庫中拉取。例如 docker pull registry.docker cn.com library ubuntu 16.04 注 除非您修改了 docke...