简介
Docker 是一个开源的容器化平台,让开发者能够轻松打包、分发和运行应用程序。它通过容器隔离应用和依赖,确保一致的运行环境。而 MySQL 是一个广泛使用的关系型数据库管理系统,以其高性能和可靠性而著称。结合 Docker 和 MySQL,开发者可以快速创建和管理数据库实例,简化开发和运维流程。
在 Alpine Linux 下通过 Docker 部署 MySQL 服务器的步骤
-
安装 Docker
首先,确保已经安装了 Docker。可以使用以下命令安装 Docker:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker
-
拉取 MySQL 镜像
拉取官方的 MySQL Docker 镜像。推荐使用最新的稳定版本:
docker pull mysql:latest
-
运行 MySQL 容器
运行 MySQL 容器,使用以下命令:
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
解释参数:
--name mysql-server
:为容器指定名称。-e MYSQL_ROOT_PASSWORD=my-secret-pw
:设置 MySQL 根用户的密码。-d
:以后台模式运行容器。
-
检查容器状态
使用以下命令查看容器是否成功运行:
docker ps
-
连接到 MySQL 容器
使用 MySQL 客户端连接到容器:
docker exec -it mysql-server mysql -uroot -p
输入你在第3步中设置的密码
my-secret-pw
。 -
创建数据库和用户
在 MySQL 提示符下,创建数据库和用户:
CREATE DATABASE mydb; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
解释 SQL 命令:
CREATE DATABASE mydb;
:创建名为mydb
的数据库。CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
:创建用户myuser
,密码为mypassword
。GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
:授予用户对mydb
数据库的所有权限。
-
持久化数据
为了持久化数据,可以使用以下命令修改容器的运行方式:
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my/local/datadir:/var/lib/mysql -d mysql:latest
解释参数:
-v /my/local/datadir:/var/lib/mysql
:将本地目录/my/local/datadir
挂载到容器的 MySQL 数据目录。
这样,你就成功在 Ubuntu 下通过 Docker 部署了 MySQL 服务器!继续享受你的黑客生活吧!😎✨