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

本文详细介绍了如何在CentOS系统上使用Docker拉取mysql:5.7.28镜像,配置my.cnf文件,设置端口映射、数据和日志挂载,以及设置MySQLroot用户权限,同时提醒读者注意防火墙设置。
摘要由CSDN通过智能技术生成

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的防火墙

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

连接

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值