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版本

vm centos7 docker 安装 mysql 5.7.28(2024-02-18)_第1张图片

拉取指定版本镜像

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 /bin/bash 进入容器,进行操作

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

设置mysql允许远程访问

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

exit

注意坑,centos的防火墙

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

连接

vm centos7 docker 安装 mysql 5.7.28(2024-02-18)_第2张图片
–全部结束

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