Bootstrap

在 Ubuntu 下通过 Docker 部署 MySQL 服务器

简介

Docker 是一个开源的容器化平台,让开发者能够轻松打包、分发和运行应用程序。它通过容器隔离应用和依赖,确保一致的运行环境。而 MySQL 是一个广泛使用的关系型数据库管理系统,以其高性能和可靠性而著称。结合 Docker 和 MySQL,开发者可以快速创建和管理数据库实例,简化开发和运维流程。

在 Alpine Linux 下通过 Docker 部署 MySQL 服务器的步骤

  1. 安装 Docker

    首先,确保已经安装了 Docker。可以使用以下命令安装 Docker:

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 拉取 MySQL 镜像

    拉取官方的 MySQL Docker 镜像。推荐使用最新的稳定版本:

    docker pull mysql:latest
    
  3. 运行 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:以后台模式运行容器。
  4. 检查容器状态

    使用以下命令查看容器是否成功运行:

    docker ps
    
  5. 连接到 MySQL 容器

    使用 MySQL 客户端连接到容器:

    docker exec -it mysql-server mysql -uroot -p
    

    输入你在第3步中设置的密码 my-secret-pw

  6. 创建数据库和用户

    在 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 数据库的所有权限。
  7. 持久化数据

    为了持久化数据,可以使用以下命令修改容器的运行方式:

    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 服务器!继续享受你的黑客生活吧!😎✨

;