最近在部署django,不想在手動安裝一遍mysql,便嘗試使用docker,總結(jié)了安裝的心得,這些前提都是在安裝了docker后:
1. 查看mysql鏡像;
2.有鏡像,直接拉取最新鏡像
docker pull mysqlv:latest
3.啟動mysql鏡像
```shell
docker run –name w-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest
–name:給新創(chuàng)建的容器命名,此處命名為w-mysql
-e:配置信息,此處配置mysql的root用戶的登陸密碼
-p:端口映射,表示在這個容器中使用3306端口第二個映射到本機(jī)的端口號也為3306第一個
-d:成功啟動容器后輸出容器的完整ID
4.登錄mysql
```shell
docker exec -it w-mysql mysql -uroot -p
5.創(chuàng)建一個遠(yuǎn)程能連接的用戶
create user 'tantan404' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'tantan404';
6.嘗試用Navicat連接
7.可能的報錯
連接時候可能會報這個錯誤,原因是不支持mysql新版本的加密規(guī)則,mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password, 解決問題方法有兩種,一種是升級navicat驅(qū)動,一種是把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password. 我用的第二種方式:
操作如下:
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規(guī)則 ,'password'改成你的密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼 ,'password'是你的密碼
FLUSH PRIVILEGES; #刷新權(quán)限
8.結(jié)束
簡單的基于docker的mysql安裝,做一個記錄
以上就是docker如何安裝mysql的詳細(xì)內(nèi)容,更多關(guān)于docker安裝MySQL的資料請關(guān)注腳本之家其它相關(guān)文章!