自学内容网 自学内容网

使用docker安装mysql8

使用docker-compose安装mysql 8.4.3,并且把时区设置为上海。

volumes 配置的作用

  • /var/db/mysql/data:这是将容器内的 /var/lib/mysql 目录挂载到主机的 /var/db/mysql/data 目录。这种方式的好处是可以直接在主机上访问和管理数据文件。
version: '3.8'

services:
  db:
    image: mysql:8.4.3
    container_name: mysql_db
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: your_database_name
      MYSQL_USER: your_user
      MYSQL_PASSWORD: your_password
      TZ: Asia/Shanghai
    volumes:
      - /var/db/mysql/data:/var/lib/mysql
    ports:
      - "3306:3306"
    restart: always

解释

  • /var/db/mysql/data:/var/lib/mysql:将主机的 /var/db/mysql/data 目录挂载到容器的 /var/lib/mysql 目录。这样,MySQL 的数据文件将存储在主机的 /var/db/mysql/data 目录中。

步骤 4: 确保主机目录存在

在启动容器之前,请确保主机上的目录 /var/db/mysql/data 已经存在,并且具有适当的权限。

sudo mkdir -p /var/db/mysql/data
sudo chown -R 999:999 /var/db/mysql/data
  • 999:999 是 MySQL 容器内运行 MySQL 服务的用户和组的 UID 和 GID。您可以根据实际情况调整这些值。

启动 MySQL 容器

mysql-docker 目录下运行以下命令来启动 MySQL 容器:

docker-compose up -d

验证安装和时区设置

  1. 检查容器状态

    docker-compose ps
    
  2. 进入 MySQL 容器

    docker exec -it mysql_db mysql -uroot -p
    
  3. 验证时区设置

    SHOW VARIABLES LIKE '%time_zone%';
    SELECT NOW();
    

注意事项

  • 权限:确保主机目录 /var/db/mysql/data 具有适当的权限,以便 MySQL 容器可以读写数据。
  • 数据备份:定期备份主机上的数据目录,以防止数据丢失。
  • 路径长度:确保路径长度不超过操作系统和文件系统的限制。

原文地址:https://blog.csdn.net/naturaltao/article/details/143720545

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!