Docker部署mysql并提供客户端访问

2022-12-16 11:50:34 浏览数 (1)

在服务器使用docker镜像创建容器来部署数据库,如mysql,这种方式是超级常见的,学习时间久了,有点过程会容易遗忘,特此写下博客记录,方便以后使用。

1.CentOS 7 安装docker环境

https://www.cnblogs.com/mazhilin/p/11553510.html

2.docker pull最新mysql镜像

获取mysql镜像

代码语言:txt复制
docker search mysql   //查询mysql镜像 
docker pull mysql    //拉取最新的mysql镜像   
docker images      //查看是否获取mysql镜像

3.基于mysql镜像创建并运行容器

根据服务器可用端口号与容器端口号映射关系,考虑是否需要挂载mysql容器目录到服务器目录,是否需要将容器创建到指定网络,设置root账户的密码(后面连接mysql需要使用)等,创建自己的mysql容器。

有端口映射 网络 挂载等:

代码语言:txt复制
docker run --name image_mysql --privileged=true -p 8099:3306 --network datasetbuilder -v /home/data/mysql/datadir:/var/lib/mysql -v /home/data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

有端口映射 挂载:

代码语言:txt复制
docker run --name image_mysql --privileged=true -p 8099:3306 -v /home/data/mysql/datadir:/var/lib/mysql -v /home/data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

参数说明:

–name:指定容器名

–p:映射宿主主机端口

-v:挂载宿主目录到容器目录

-e:设置环境变量,此处指定root密码

-d:后台运行容器

–privileged=true 防止挂载数据卷出现权限问题

代码语言:txt复制
docker ps  -a  //查看容器是否运行成功

4.进入容器设置客户端访问权限

(1)进入mysql容器
代码语言:txt复制
 docker exec -it 容器名/bin/bash   //进入容器
 如:
 docker exec -it image_mysql /bin/bash   //进入容器

如果想退出容器:输入exit,或者按Ctr D。

(2)连接mysql

mysql -u root -p

输入root账户的密码,即可连接成功

(3)修改root 可以通过任何客户端连接
代码语言:txt复制
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
(4)退出mysql连接

输入exit,或者按 Ctr D

代码语言:txt复制
mysql>exit

5.宿主机或远程客户端工具访问

代码语言:txt复制
mysql -h 127.0.0.1 -P 3306 -u root -p

然后可以使用navicat等mysql客户端操作该数据库。

0 人点赞