docker 部署Mysql
1、拉取镜像
指定版本8.0.31,不指定版本默认latest最新版
docker pull mysql:8.0.31
2、运行容器
–restart=always 每次docker重启后自动重启
-p 13306:3306 将容器的 3306 端口映射到主机的 3306 端口
–name my-mysql 启动后容器名为 my-mysql
-v $PWD/conf:/etc/mysql 将主机当前目录下的 conf/ 挂载到容器的 /etc/mysql (conf目录为mysql的配置文件,不挂载也没问题)
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs (logs目录为mysql的日志目录,不挂载也没影响)
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql (data目录为mysql配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器down掉,还能再次挂载数据。)
-e MYSQL_ROOT_PASSWORD=Dl123456 初始化 root 用户的密码
docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.31
docker run --restart=always -p 13306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.31
2、进入mysql容器
docker exec -it ***(ID,可以写上全部,也可以写前三个) bash
先确定mysql容器id docker ps
docker exec -it ***(ID,可以写上全部,也可以写id前三个字符) bash
2.1 先确定mysql容器id docker ps
2.2 进入容器
docker exec -it 7c8 bash
4、登录mysql
mysql -u root -p;
设置root用户在任何地方进行远程登录,并具有所有库的任何操作权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#刷新权限
FLUSH PRIVILEGES;
退出
exit;