参考资料

  1. Vaultwarden 是 Bitwarden 密码管理器的轻量级
  2. Docker的核心概念
  3. Hello-World 是一个最简单的 Docker 镜像
  4. Docker 是一个开源的应用容器引擎
  5. MongoDB 是一个开源的 NoSQL 数据库
  6. 如何管理多个docker容器?
  7. Rapidoid是一个高性能的Java Web框架
  8. Gradle 是一个基于 Apache Ant 和 Maven 概念的自动化构建工具

MySQL 是一个开源的关系型数据库管理系统

MySQL 简介

MySQL 是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,现属于 Oracle 公司。它使用 SQL(结构化查询语言)进行数据库管理,支持多用户、多线程操作,广泛应用于 Web 应用、企业级应用和数据仓库等领域。


MySQL 特点

  1. 开源免费:社区版可免费使用。

  2. 跨平台支持:支持 Windows、Linux、macOS 等操作系统。

  3. 高性能:支持索引优化、查询缓存、分区表等。

  4. 高可靠性:支持事务(ACID)、主从复制、集群等。

  5. 易用性:提供丰富的管理工具(如 MySQL Workbench)。

  6. 支持多种存储引擎:如 InnoDB(默认)、MyISAM、Memory 等。

  7. 扩展性强:支持分布式架构和分片。


最新更新内容及时间

  • MySQL 8.0.34(2023年7月发布)
    主要更新:

    • 修复了多个安全漏洞。

    • 优化了 InnoDB 存储引擎的性能。

    • 改进了 JSON 功能。

    • 增强了复制功能。


镜像下载地址


官网地址


阅读文档地址


Docker 安装示例

# 拉取 MySQL 镜像(最新版)
docker pull mysql:latest

# 运行 MySQL 容器
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:latest

# 进入 MySQL 容器
docker exec -it mysql-container mysql -uroot -p

YAML 设置教程(以 Docker Compose 为例)

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql_db
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: test_db
      MYSQL_USER: test_user
      MYSQL_PASSWORD: user_password
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    restart: always

volumes:
  mysql_data:

常用错误及解决方法

  1. ERROR 1045 (28000): Access denied for user

    • 原因:用户名或密码错误。

    • 解决:检查密码或重置 root 密码。

  2. ERROR 2002 (HY000): Can't connect to local MySQL server

    • 原因:MySQL 服务未启动或端口被占用。

    • 解决:启动服务或检查端口冲突。

  3. ERROR 1064 (42000): Syntax error

    • 原因:SQL 语法错误。

    • 解决:检查 SQL 语句是否符合 MySQL 语法规范。

  4. InnoDB 表损坏

    • 原因:异常关机或存储故障。

    • 解决:使用 mysqlcheck --repair 修复表。

  5. Too many connections

    • 原因:连接数超过最大限制。

    • 解决:修改 max_connections 参数或优化连接池。

  6. Docker 容器启动失败

    • 原因:权限或配置问题。

    • 解决:检查日志 docker logs mysql-container 并调整配置。