Linux环境下通过docker安装mysql

Linux环境下通过docker安装mysql

Content

在 Manjaro 中,可以使用 Docker 来安装和配置 MySQL。以下是详细步骤,包括如何拉取 MySQL 镜像、运行容器、配置持久化存储和基本的安全设置。

1. 安装 Docker

首先确保 Docker 已安装并正在运行:

# 更新系统并安装 Docker
sudo pacman -Syu docker

# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 开机自启
sudo systemctl enable docker

2. 拉取 MySQL 镜像

在 Docker 中使用 MySQL,只需拉取 MySQL 官方镜像即可:

# 拉取最新版本的 MySQL 镜像
docker pull mysql:latest

3. 创建数据卷(可选)

为了防止 MySQL 数据在容器删除时丢失,建议创建一个数据卷或将主机目录挂载到容器中,实现数据持久化。

# 创建 MySQL 数据卷
docker volume create mysql_data

4. 运行 MySQL 容器

使用 docker run 命令启动 MySQL 容器,并配置必要的参数,如 root 密码、端口映射和数据卷。

docker run -d \
    --name mysql-container \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=my-secret-pw \
    -v mysql_data:/var/lib/mysql \
    mysql:latest
  • 参数说明
    • -d:以守护进程模式运行容器。
    • --name mysql-container:指定容器名称,可以自定义。
    • -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口,以便在主机上访问 MySQL。
    • -e MYSQL_ROOT_PASSWORD=my-secret-pw:设置 MySQL 的 root 用户密码,将 my-secret-pw 替换为你的自定义密码。
    • -v mysql_data:/var/lib/mysql:将主机的 mysql_data 卷挂载到容器中的 /var/lib/mysql,以实现数据持久化。

5. 检查 MySQL 容器状态

可以使用以下命令查看容器状态,确保 MySQL 正在运行:

docker ps

如果容器启动成功,可以看到 mysql-container 正在运行,且映射了 3306 端口。

6. 进入 MySQL 容器并配置 MySQL

可以通过以下命令进入 MySQL 容器:

docker exec -it mysql-container mysql -u root -p

输入你设置的 root 密码,即可进入 MySQL 控制台,进行数据库和用户的配置。

7. 创建数据库和用户(可选)

在 MySQL 控制台中,创建数据库和用户:

-- 创建一个数据库
CREATE DATABASE my_database;

-- 创建用户并授予权限
CREATE USER 'my_user'@'%' IDENTIFIED BY 'user_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'%';
FLUSH PRIVILEGES;
  • my_database:数据库名称。
  • my_useruser_password:用户名称和密码,可根据需要修改。
  • % 表示允许从任意主机访问数据库,如果只允许特定主机访问,可以将 % 替换为主机 IP。

8. 配置 MySQL 的远程访问(可选)

如果需要从其他设备连接到 MySQL 数据库,可以编辑 MySQL 的配置文件,允许远程访问。默认情况下,MySQL 只允许本地连接。

  1. 使用以下命令启动容器时挂载 MySQL 配置文件:

    docker run -d \
        --name mysql-container \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=my-secret-pw \
        -v mysql_data:/var/lib/mysql \
        -v /path/to/my.cnf:/etc/mysql/my.cnf \
        mysql:latest
    
  2. 修改 my.cnf 配置文件,确保 bind-address0.0.0.0

    [mysqld]
    bind-address = 0.0.0.0
    
  3. 重启 MySQL 容器,使配置生效:

    docker restart mysql-container
    

9. 连接 MySQL

可以通过 mysql-client 或其他数据库管理工具(如 DBeaver、MySQL Workbench)连接到 MySQL 数据库:

  • 主机:虚拟机或服务器 IP 地址
  • 端口:3306
  • 用户名root 或自定义用户
  • 密码:在容器启动时设置的密码

总结

以上是通过 Docker 在 Manjaro 中安装并配置 MySQL 的步骤,概括为:

  1. 安装 Docker 并启动。
  2. 拉取 MySQL 镜像。
  3. 配置数据持久化和运行容器。
  4. 创建数据库和用户,并设置远程访问(如有需要)。

这种方式可以将 MySQL 部署在 Docker 容器中,享受环境隔离、便捷管理和持久化存储的优势。

posted @ 2024-11-03 03:49  Gold_stein  阅读(514)  评论(0编辑  收藏  举报