02-01 docker安装mysql 8.0

前言

最近折腾docker,今天安装mysql的时候遇到很多坑,网上找了很多帖子,都没解决,最后看到菜鸟教程里面教程,最终一次就成功安装,我将自己的操作步骤详细记录了下来,希望大家可以少走点弯路。

1、打开cmd,拉取mysql镜像,默认拉取最新版(least)–>mysql 8.0,也可以到docker hub 查找合适的版本

在这里插入图片描述

docker pull mysql
2、查看已安装镜像
docker images

在这里插入图片描述

3、运行mysql 容器,设置固定IP,这步很关键,必须按下面脚本格式运行,否则后面会出现很多莫名奇妙的问题

PS:这里如果出现3306端口被占用,请参照docker 启动mysql 容器出错 解决

# windows 容器
docker run -itd --name mysql --network mynet --ip 172.18.103.34 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
# 或者挂载目录
docker run -itd --name mysql --network nat --ip 172.18.103.33 -p 3306:3306 -v D:/workspace/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
# linux容器
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

语法说明

docker run -itd --name [容器名称] --network [自定义网络模式] --ip [指定的固定IP地址] -p [宿主机端口]:[容器端口] -v [宿主主机路径]:[容器data store路径] -e MYSQL_ROOT_PASSWORD=[初始密码] [镜像名称/id]

参数说明

  • --network [自定义网络模式] --ip [指定的固定IP地址]:设置容器固定ip。
  • -p 3306:3306 :映射宿主机的 3306 端口到容器服务的 3306 端口,外部主机可以直接通过宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的初始密码。
  • -v D:/workspace/docker/mysql/data:/var/lib/mysql :将D:/workspace/docker/mysql/data路径(该路径必须存在)挂载到容器的data store路径(/var/lib/mysql)下
4、查看是否安装成功
# 查看所有镜像,包括未运行的
docker ps -a
# 查看运行中的镜像
docker ps

在这里插入图片描述
或者直接在客户端上查看
在这里插入图片描述

5、进入容器
docker exec -it mysql bash

语法说明

docker exec -it [容器名称/id] bash

在这里插入图片描述
或者从客户端i进入
在这里插入图片描述

6、登录数据库,密码是在创建容器的时候设置的123456
mysql -u root -p
# 或者
mysql -h localhost -u root -p

在这里插入图片描述

7、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword';

语法说明

ALTER USER 'root'@'localhost' IDENTIFIED BY '[新密码]';

在这里插入图片描述

8、添加远程客户端登录用户
CREATE USER 'TestUser'@'%' IDENTIFIED WITH mysql_native_password BY 'newPassword';

GRANT ALL PRIVILEGES ON *.* TO 'TestUser'@'%';

语法说明

CREATE USER '[远程登录名]'@'%' IDENTIFIED WITH mysql_native_password BY '[数据库密码]';

GRANT ALL PRIVILEGES ON *.* TO '[远程登录名]'@'%';

在这里插入图片描述

9、打开cmd,查看容器信息,可以找到ip
docker inspect mysql

语法说明

docker inspect [容器名称/id]

在这里插入图片描述
“NetworkSettings”对象的"Networks"对象下找到"IPAddress"即为容器的ip
注意"Gateway"是虚拟机的ip
在这里插入图片描述

10、远程客户端登录docker容器中的mysql

注意:登录windows容器的mysql时,需要用容器的ip,登录linux容器的mysql,需要使用宿主机ip,因为linux容器默认网络是bridge
在这里插入图片描述
登陆成功
在这里插入图片描述

补充
由于忘了将容器设置为自动重启(开机自启)了,所以在这update容器
docker update --restart=always mysql

语法说明

docker update --restart=always [容器名称/id]
参考文章

菜鸟教程:docker安装mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值