docker部署mysql5.7

1、拉取镜像

docker pull mysql:5.7

2、运行容器

 docker run -p 3306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7

-v $PWD/conf:/etc/mysql指令是挂载mysql的配置文件到宿主机
-v $PWD/data:/var/lib/mysql指令是挂载mysql的数据到宿主机
-e MYSQL_ROOT_PASSWORD=qazWSX123指令是配置mysql登录密码

如果容器启动失败,执行查询容器启动日志命令

docker logs --tail -n 容器名称

如果出现报错信息:Can’t read dir of '/etc/mysql/conf.d/
则删掉容器,重新执行run命令,不挂载配置文件,只挂载数据

docker run -p 3306:3306 --name my-mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7

3、进入容器

docker exec -it my-mysql bash

在这里插入图片描述
能进去说明容器启动成功

4、配置mysql

登录mysql

mysql -uroot -p --default-character-set=utf8
show databses;

docker部署mysql5.7_第1张图片
设置能远程登录mysql

use mysql;

docker部署mysql5.7_第2张图片
设置root用户在任何地方进行远程登录,并具有所有库任何操作权限

grant all privileges on *.*  to 'root'@'%';

修改用户的密码和加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

刷新

FLUSH PRIVILEGES;

5、mysql客户端连接

如果用的是云服务器的话,需要在安全组中开放3306端口的访问权限

docker部署mysql5.7_第3张图片
连接成功!!!

你可能感兴趣的:(linux,docker,mysql,java)