關於mysql on docker的配置和啟動

2021-10-09 16:02:49 字數 1368 閱讀 7681

首先需要安裝docker,在debian中,需要安裝docker.io這個包。

需要注意的是,在安裝了docker以後,如果你不是在docker組中,想要使用pull命令將會提示你許可權不夠,所以你需要將自己加入到docker組中。

使用

usermod -a -g docker
然後你需要登出並從新登入才能夠應用更改。

然後使用

docker version
應該能夠看到關於docker server和client的資訊,如果有報錯的,大概是提示你docker服務沒有啟動,

使用命令

systemctl start docker
開啟docker服務即可。

或許你還想要使用docker映象加速器。

然後使用命令

docker pull mysql
將mysql映象拉下來。

使用

docker run --name mysql-1 -p 3306:3306 \

-v ~/data:/var/lib/mysql \

-v ~/logs:/var/log/mysql \

-v ~/conf:/etc/mysql \

-e mysql_root_password=root \

-d mysql

其中

這裡指定路徑對映的價值在於,當你銷毀了你的容器,你的資料不會被跟著一起銷毀。

然後需要進入docker建立能夠遠端訪問的使用者

docker exec -it mysql-1 bash
然後進入mysql,使用一下sql語句建立使用者並授予許可權

create user 'admin'@'%' identified by 'admin';

grant all on *.* to 'admin'@'%';

flush privileges;

提示一下是在你使用一些過時版本的mysql客戶端的時候,他可能會告訴你他需要乙個關於密碼驗證的外掛程式。

出現這個錯誤的原因是,mysql server在新版本更改了自己的密碼驗證方式,而你的mysql客戶端太舊了。

解決辦法有兩個:

更新你的mysql客戶端

將使用者的密碼驗證方式更改為mysql_native_password。

如果你想要使用第二種解決方法,那麼你該執行的sql語句是

alter user 'admin'@'%' identified with mysql_native_password by 'admin';

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...