Docker 安装 MySQL

Docker 安装 MySQL

引言

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。MySQL 是一个开源的关系型数据库管理系统,它是最流行的关系型数据库之一。本文将详细介绍如何在 Docker 中安装 MySQL,并配置其基本环境。

系统要求

在开始安装之前,请确保您的系统满足以下要求:

  • Linux 操作系统
  • Docker Engine 安装

安装 MySQL

1. 拉取 MySQL 镜像

首先,使用以下命令拉取 MySQL 镜像:

bash 复制代码
docker pull mysql:latest

2. 运行 MySQL 容器

接下来,使用以下命令运行一个 MySQL 容器:

bash 复制代码
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

解释一下命令中的参数:

  • --name some-mysql:为容器指定一个名称。
  • -e MYSQL_ROOT_PASSWORD=my-secret-pw:设置 root 用户的密码。
  • -d:以守护进程模式运行容器。

3. 连接 MySQL 容器

使用以下命令连接到 MySQL 容器:

bash 复制代码
docker exec -it some-mysql mysql -u root -p

输入密码后,您将进入 MySQL 命令行界面。

配置 MySQL

1. 修改配置文件

MySQL 默认将配置文件存储在 /etc/mysql/my.cnf 中。为了提高安全性,您可以修改配置文件以禁用远程访问和更改默认的字符集。

bash 复制代码
docker cp /etc/mysql/my.cnf some-mysql:/etc/mysql/my.cnf
docker exec -it some-mysql vi /etc/mysql/my.cnf

找到以下行并取消注释:

ini 复制代码
#bind-address = 127.0.0.1

然后,找到以下行并修改字符集:

ini 复制代码
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

保存并退出编辑器。

2. 重启 MySQL 服务

bash 复制代码
docker restart some-mysql

3. 创建用户和数据库

sql 复制代码
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

这里,我们创建了一个名为 mydatabase 的数据库,并创建了一个名为 myuser 的用户,密码为 mypassword。然后,我们将所有权限授予该用户。

总结

本文介绍了如何在 Docker 中安装 MySQL,并配置了基本环境。通过使用 Docker,您可以轻松地部署和管理 MySQL 数据库,同时提高开发效率和系统稳定性。希望本文对您有所帮助。

相关推荐
-今昭-1 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
黑马程序员毕设3 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e3 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
问天_观心3 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
阿里嘎多学长4 小时前
2026-09-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
源代码•宸4 小时前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
2601_967338714 小时前
C#上位机开发零基础入门到精通全套视频
开发语言·c#
小白学大数据5 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
旧梦95275 小时前
Java SortedMap 接口详解:从入门到实战
java·开发语言
莫陌尛.5 小时前
Java_this构造方法
java·开发语言