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

举报
霍格沃兹测试开发 发表于 2022/12/16 11:49:39 2022/12/16
【摘要】 在服务器使用docker镜像创建容器来部署数据库,如mysql,这种方式是超级常见的,学习时间久了,有点过程会容易遗忘,特此写下博客记录,方便以后使用。 1.CentOS 7 安装docker环境https://www.cnblogs.com/mazhilin/p/11553510.html 2.docker pull最新mysql镜像获取mysql镜像docker search mysql...

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

1.CentOS 7 安装docker环境

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

2.docker pull最新mysql镜像

获取mysql镜像

docker search mysql   //查询mysql镜像 
docker pull mysql    //拉取最新的mysql镜像   
docker images      //查看是否获取mysql镜像

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

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

有端口映射 + 网络 + 挂载等:

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

有端口映射 + 挂载:

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 防止挂载数据卷出现权限问题

docker ps  -a  //查看容器是否运行成功

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

(1)进入mysql容器

 docker exec -it 容器名/bin/bash   //进入容器
 如:
 docker exec -it image_mysql /bin/bash   //进入容器

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

(2)连接mysql

mysql -u root -p
输入root账户的密码,即可连接成功

(3)修改root 可以通过任何客户端连接

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

(4)退出mysql连接

输入exit,或者按 Ctr+D

mysql>exit

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

mysql -h 127.0.0.1 -P 3306 -u root -p

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。