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 数据库,同时提高开发效率和系统稳定性。希望本文对您有所帮助。

相关推荐
qq_4480111618 分钟前
C语言中的动态内存分配
c语言·开发语言·php
汉字萌萌哒1 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter1 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
汉字萌萌哒2 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院2 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
小雨笙笙3 小时前
C语言:变量三属性——存储类型
c语言·开发语言
果果燕3 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
江畔柳前堤3 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
2601_949950634 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐
老洋葱Mr_Onion4 小时前
【C++】信息学奥赛CSP通关之路——CSP-J/S第一轮原创全真模拟试卷集(2026)卷四全卷解析
开发语言·c++