查看Docker MySQL文檔
docker 下載
MySQL文檔地址:
https://hub.docker.com/_/mysql/
第一步,拉取MySQL鏡像
docker pull mysql # 拉取最新版mysql鏡像
之后docker會自動拉取(下載)MySQL鏡像。
拉取成功后我們查看一下:
docker images
第二步,創建並啟動一個MySQL容器
輸入以下命令:
docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
- –name:給新創建的容器命名,此處命名為mysqlserver
- -e:配置信息,此處配置mysql的root用戶的登陸密碼
- -p:端口映射,表示在這個容器中使用3306端口(第二個)映射到本機的端口號也為3306(第一個)
- -d:成功啟動容器后輸出容器的完整ID
- 最后一個mysql指的是mysql鏡像名字
如果要建立目錄映射
duso docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
- -v:主機和容器的目錄映射關系,":"前為主機目錄,之后為容器目錄
到這里我們查看容器運行狀態:
docker ps
可以看到容器的簡寫ID,容器的源鏡像,創建時間,狀態,端口映射信息,容器名字等
第三步,測試連接MySQL
- 1、命令連接
docker exec -it mysqlserver /bin/bash
或者
docker exec -it mysqlserver bash
docker exec
:在運行的容器中執行命令
語法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
- -i :即使沒有附加也保持STDIN 打開
- -t :分配一個偽終端
- -d :分離模式: 在后台運行
進入mysql
mysql -h localhost -u root -p
使用navicat遠程連接
若訪問不成功請查看是否開啟遠程連接
mysql> use mysql;
mysql> select user,host from user;
host | user |
---|---|
% | root |
localhost | mysql.infoschema |
localhost | mysql.session |
localhost | mysql.sys |
localhost | root |
如果host沒有% 就需要執行
8.0版本
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則 ,'password'改成你的密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼 ,'password'是你的密碼
grant all privileges on *.* to root@'%' identified by "password";
- password 為你新設置的密碼
刷新權限
FLUSH PRIVILEGES;
如果連接狀態為 2003
可能造成出現的原因:
- 網絡不通暢
- mysql 服務未啟動
- 防火牆未開放端口