docker部署mysql5.7数据库

1、拉取mysql镜像
搜索mysql镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker search mysql
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9188                [OK]                

拉取mysql镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker pull mysql:5.7.24

其中mysql:5.7.24是指拉取的mysql的版本为5.7.24,如果不指定版本,则拉取最新的。
查看已拉取的镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7.24              ba7a93aae2a8        14 months ago       372MB

2、创建mysql容器
创建tomcat容器:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker run -itd --name mysql -p 3316:3306 -v /data/docker_v/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7.24

其中:
–name mysql 容器的名称为mysql
-p 3316:3306 将主机3316端口映射到容器3306端口,访问数据库时直接访问主机3316端口
-v /data/docker_v/mysql/data:/var/lib/mysql 将容器mysql的数据文件目录映射到主机目录,这样数据库数据被持久化到主机,保证数据不丢失。
-e MYSQL_ROOT_PASSWORD=root 设置mysql的ROOT用户密码为root
-itd 后台启动
mysql:5.7.24 创建容器使用的镜像及版本

查看创建好的容器实例:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS 
f6e302b02f48        mysql:5.7.24        "docker-entrypoint.s…"   13 days ago         Up 9 days           33060/tcp, 0.0.0.0:3316->3306/tcp                                                  mysql

安装成功,进入容器内部访问mysql服务:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker exec -it mysql bash
root@f6e302b02f48:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4771
Server version: 5.7.24 MySQL Community Server (GPL)

3、mysql配置文件
mysql5.7默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。

root@f6e302b02f48:/etc/mysql# ls
conf.d my.cnf my.cnf.fallback  mysql.cnf  mysql.conf.d
root@f6e302b02f48:/etc/mysql# cd conf.d/ 
root@f6e302b02f48:/etc/mysql/conf.d# ls
docker.cnf  mysql.cnf  mysqldump.cnf

另外为了配置方面,建议把/etc/mysql/conf.d配置文件目录隐射到主机目录。在创建mysql容器时添加 -v /docker_v/mysql/conf:/etc/mysql/conf.d 即可。

4、特别提醒
一定要将mysql的数据文件映射到主机目录,这样可以保证数据库的持久化。否则,容器在重启后数据会丢失。mysql容器本身并不会持久化数据,重启后就会回到初始化时状态。这里是一个坑,大家注意了!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值