安装docker
参考官网
按照官网教程一步一步操作完成即可
查看下版本
docker info
安装mysql 5.7
- 创建挂载目录
mkdir -p $HOME/data/docker/mysql/{conf,data,logs}
- 创建网络(可选)
docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 commonnetwork
- 启动(安装5.7版本为了和线上版本一致)
docker run --name mysql -d -p 3306:3306 \
-v $HOME/data/docker/mysql/data:/var/lib/mysql \
-v $HOME/data/docker/mysql/conf:/etc/mysql \
-v $HOME/data/docker/mysql/logs:/var/log/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
可以指定网络
docker run --name mysql -d -p 3306:3306 \
--network commonnetwork --ip 192.168.0.100 \
-v $HOME/data/docker/mysql/data:/var/lib/mysql \
-v $HOME/data/docker/mysql/conf:/etc/mysql \
-v $HOME/data/docker/mysql/logs:/var/log/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
- 进入容器内部,修改root外网访问权限(正式环境建议关闭root访问权限,新建账户供外网访问)
docker exec -it mysql bash
# 或者
docker exec -it 容器ID /bin/bash
- 登陆mysql
mysql -uroot -p123456;
- 修改权限
> use mysql;
> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
> flush privileges;
> exit;
- 测试连接(dbeaver连接、navicat、idea自带等工具均可)
安装mysql8.x
- 创建挂载目录
mkdir -p $HOME/data/docker/mysql/{conf,data,logs}
- 运行一个临时服务
docker run --name mysql -d -p 3306:3306 \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0
- 复制配置文件到挂载目录
docker cp mysql:/etc/mysql/ %HOME/data/docker/mysql/
- 停止并删除临时服务
docker stop mysql && docker rm mysql
- 启动服务
docker run --name mysql -d -p 3306:3306 \
-v $HOME/data/docker/mysql/data:/var/lib/mysql \
-v $HOME/data/docker/mysql/conf:/etc/mysql \
-v $HOME/data/docker/mysql/logs:/var/log/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0