Centos 7 通过Docker 安装MySQL 8.0.33实现数据持久化及my.cnf配置

一、docker 启动MySQL容器实现数据持久化

要在 CentOS 7 上使用 Docker 启动 MySQL 8.0.33,并配置 MySQL 的 my.cnf 文件,同时实现 MySQL 数据的持久化,可以按照以下步骤进行操作:

1、安装 Docker:确保你在 CentOS 7 上已经安装了 Docker。如果尚未安装,请按照 Docker 官方文档提供的说明进行安装。

2、创建持久化存储目录:为了实现数据持久化,我们将创建一个用于存储 MySQL 数据的目录。假设我们将其命名为 /opt/mysql_data。在终端中运行以下命令来创建该目录:

复制代码
sudo mkdir -p /opt/mysql_data

3、拉取 MySQL 镜像:运行以下命令从 Docker Hub 上拉取 MySQL 8.0.33 镜像:

复制代码
sudo docker pull mysql:8.0.33

4、启动 MySQL 容器:运行以下命令启动 MySQL 容器,同时挂载持久化存储目录和自定义 my.cnf 文件:

需要提前手动新建/path/to/my.cnf文件,

----因为我有个性化的需求,需要将/path/to/my.cnf 文件中的设置为server_id=2(无此需求,可忽略)

启动docker 容器

复制代码
sudo docker run -d --name mysql-container \
  -v /opt/mysql_data:/var/lib/mysql \
  -v /path/to/my.cnf:/etc/mysql/my.cnf \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3305:3306 \
  mysql:8.0.33
  • 将 /opt/mysql_data 替换为你创建的持久化存储目录路径。
  • 将 /path/to/my.cnf 替换为我自定义的 my.cnf 文件路径。
  • 将 your_password 替换为你要设置的 MySQL root 密码。

我的密码为 123456

/path/to/my.cnf

端口为3305

5、验证配置:等待片刻,MySQL 容器将启动并加载自定义的 my.cnf 文件。可以通过连接到 MySQL 容器来验证配置是否生效:

复制代码
sudo docker exec -it mysql-container mysql -u root -p

输入之前设置的密码后,进入 MySQL 客户端。

密码为123456

6、在 MySQL 客户端中执行以下命令验证 server_id 配置是否已设置为 2:

复制代码
SHOW VARIABLES LIKE 'server_id';

如果 server_id 的值为 2,则说明 my.cnf 中的配置已成功应用。

现在,MySQL 容器已经在 CentOS 7 上以持久化方式运行,并且使用了自定义的 my.cnf 配置文件,其中 server_id 的值为 2。

请注意,每次修改 my.cnf 文件后,都需要重启 MySQL 容器才能使更改生效:

复制代码
sudo docker restart mysql-container

二、 设置MySQL容器支持远程访问

默认情况下,Docker 的容器网络使用桥接模式,因此容器内的服务只能通过容器的 IP 地址进行访问。你需要修改容器的防火墙规则,允许来自远程主机的连接。

**1、**进入docker-mysql容器,进入MySQL

复制代码
sudo docker exec -it mysql-container mysql -u root -p

密码123456

2、重新设置一下密码

sql 复制代码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

3、刷新权限

sql 复制代码
flush privileges;

4、开启远程访问并修改默认密码和加密方式

sql 复制代码
alter user 'root'@'%' identified with mysql_native_password by 'root';

现在就可以远程连接了,使用服务的ip 地址,及3305端口号,账号 root 密码123456

记得服务器要对外开放3305端口哦

相关推荐
实心儿儿3 小时前
Linux —— 进程控制 - mini shell
linux·运维·服务器
不瘦80斤不改名4 小时前
深入浅出 MySQL(一):一文理清 SQL 核心规范与五大分类
数据库·sql·mysql
程序员黄老师4 小时前
Windows文件移动到Linux上的坑
linux·运维·服务器
woniu_buhui_fei4 小时前
MySQL知识整理二
数据库·mysql
mounter6254 小时前
【内核前沿】Linux IPC 迎来大变局?POSIX 消息队列增强、io_uring IPC 与 Bus1 十年回归
linux·运维·服务器·kernel·ipc·io_uring
不怕犯错,就怕不做4 小时前
Linux-Sensor驱动移植与调试(转载)
linux·驱动开发·嵌入式硬件
island13145 小时前
最详细VMware Workstation 17 上安装 Ubuntu 系统
linux·数据库·ubuntu
2401_895521345 小时前
Linux下安装Redis
linux·运维·redis
handler015 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
看海的四叔6 小时前
【SQL】SQL同环比计算的多种实现方式
数据库·hive·sql·mysql·数据分析·同环比