vm centos7 docker 安装 mysql 5.7.28(2024-02-18)

centos系统版本

[root@localhost mysql5.7]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

docker版本

在这里插入图片描述

拉取指定版本镜像

docker pull mysql:5.7.28
docker images
在这里插入图片描述

创建挂载目录(数据存储在centos的磁盘上)

mkdir -p /app/software/docker-dir/mysql5.7/conf
mkdir -p /app/software/docker-dir/mysql5.7/logs
mkdir -p /app/software/docker-dir/mysql5.7/mysql

创建my.cnf 文件

touch /home/dockerdata/mysql/conf/my.cnf
vim /home/dockerdata/mysql/conf/my.cnf

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

max_connections = 2000
max_user_connections = 1900
max_connect_errors = 100000
max_allowed_packet = 50M
lower_case_table_names=1

创建docker容器并运行

docker run  -p 3307:3306 --name mysql57 -v /app/software/docker-dir/mysql5.7/conf/my.cnf:/etc/mysql/my.cnf -v /app/software/docker-dir/mysql5.7/logs:/logs -v /app/software/docker-dir/mysql5.7/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28

解释:

它将创建一个名为 mysql57 的容器,并基于 mysql:5.7.28 镜像运行。

现在,让我们逐个解释每个选项的含义:

  • -p 3307:3306:表示将容器的 3306 端口映射到宿主机的 3307 端口。这样,你可以通过宿主机的 3307 端口访问 MySQL 服务。
  • --name mysql57:指定容器的名称为 mysql57
  • -v /app/software/docker-dir/mysql5.7/conf/my.cnf:/etc/mysql/my.cnf:将宿主机上的 /app/software/docker-dir/mysql5.7/conf/my.cnf 文件挂载到容器的 /etc/mysql/my.cnf 路径。这样,你可以使用自定义的 MySQL 配置文件。
  • -v /app/software/docker-dir/mysql5.7/logs:/logs:将宿主机上的 /app/software/docker-dir/mysql5.7/logs 目录挂载到容器的 /logs 路径。这样,MySQL 日志将持久化保存在宿主机的 /app/software/docker-dir/mysql5.7/logs 目录中。
  • -v /app/software/docker-dir/mysql5.7/mysql:/var/lib/mysql:将宿主机上的 /app/software/docker-dir/mysql5.7/mysql 目录挂载到容器的 /var/lib/mysql 路径。这样,MySQL 数据将持久化保存在宿主机的 /app/software/docker-dir/mysql5.7/mysql 目录中。
  • -e MYSQL_ROOT_PASSWORD=123456:设置 MySQL root 用户的密码为 123456。这将在容器启动时将密码传递给 MySQL 服务器。
  • -d:表示以后台(守护进程)模式运行容器。

启动后查看进程

docker ps
在这里插入图片描述
docker CONTAINER-ID logs 可以查看启动日志

docker exec -it <container_name> /bin/bash 进入容器,进行操作

mysql -uroot -p
在这里插入图片描述

设置mysql允许远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY  '123456'  WITH GRANT OPTION;
flush privileges;

exit

注意坑,centos的防火墙

有开启,直接关闭或者放开端口访问

连接

在这里插入图片描述
–全部结束

相关推荐

  1. openEuler 22.03 docker安装elasticsearch 7.17.17

    2024-02-20 02:08:03       41 阅读
  2. Docker安装MySQL5.7

    2024-02-20 02:08:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 02:08:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 02:08:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 02:08:03       87 阅读
  4. Python语言-面向对象

    2024-02-20 02:08:03       96 阅读

热门阅读

  1. ChatGPT魔法2:两大准则

    2024-02-20 02:08:03       51 阅读
  2. MySQL全量备份

    2024-02-20 02:08:03       39 阅读
  3. linux查看磁盘占用命令

    2024-02-20 02:08:03       45 阅读
  4. 【LeetCode每日一题】单调栈 901股票价格跨度

    2024-02-20 02:08:03       62 阅读
  5. 【Docker】dockerfile学习

    2024-02-20 02:08:03       49 阅读
  6. 备战蓝桥杯 Day6(学习动态规划)

    2024-02-20 02:08:03       52 阅读
  7. Linux——常用特殊符号介绍

    2024-02-20 02:08:03       44 阅读
  8. 深度学习优化算法

    2024-02-20 02:08:03       40 阅读