在docker中建立mysql

2021-09-06 17:16:46 字數 1103 閱讀 5191

我的mysql映象版本是8.0

記錄一下出現的意外情況:

我是以下面的命令來進行安裝:

sudo docker run --name mysql_2 -d --restart always -p 5002:3306 -e mysql_root_password=yourpasswd -v $pwd/db2/data:/var/lib/mysql -v $pwd/db2/logs:logs mysql/mysql-server
這裡的yourpasswd改為自己的密碼

建立成功!

嘗試連線,但是提示錯誤

由此我們可以看出,客戶端確實完成了通訊,但是卻由於許可權的原因連線失敗(不是網路原因)

根據搜尋資料,得知mysql預設不支援遠端登入,我們需要把"mysql.user" 表裡的 "host" 項,從"localhost"改稱"%"

即,允許任意ip訪問。

這裡進入docker,並連線mysql資料庫。

執行修改語句:

儲存,退出,再用mysql客戶端連線試試。

嘗試連線,卻出現了新的錯誤:

可以看出是本地客戶端不支援服務端的驗證協議。在不能公升級客戶端的情況下,我們選擇修改mysql服務端的驗證協議。

alter user 'root'@'%' identified with mysql_native_password by 'yourpasswd'
再次嘗試連線,就可以連線上了。

在docker中安裝mysql

bin sh 安裝docker 在docker中安裝mysql 解決了docker容器中無法輸入中文的問題 安裝docker 更新源 yum y update 解除安裝舊版本 如果安裝過舊版本的話 sudo yum remove docker docker common docker selinux...

在 Docker 中重建 MySQL 集群

本文記錄了使用重建集群的過程 1.關閉並移除所有資料庫 在 windows 環境中,通過 xshell 連線到各個節點然後分別執行 docker stop mysql docker rm f mysql2.選擇主節點bash mysql start.sh 首先執行mysql的映象,mysql sta...

mysql在docker中的實現

專案背景 專案中,使用docker部署mysql服務,如果將mysql儲存的資料儲存在docker的容器中,一旦docker關閉,會導致儲存的的資料丟失,因此,需要將docker中mysql的資料實時儲存在宿主機上,從而當docker關閉,再次啟動docker時,也能夠正常使用資料,不會造成資料丟失...