使用DockerCompose创建MySQL练习环境

警告
本文最后更新于 2023-09-16,文中内容可能已过时。

学习 MySQL 最重要的一个环节就是实操,只有实打实的写 SQL,优化 SQL,才能对 MySQL 有更深的认识。我这里准备了一套 MySQL 的练习环境,分享给大家。

部署 MySQL

废话不多说,我们先上 docker-compose.yml 配置文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3'
networks:
  develop:
    ipam:
      config:
        - subnet: 10.1.2.0/24

services:
  mysql:
    container_name: mysql
    image: mysql/mysql-server:8.0.27
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_USER: xx
      MYSQL_PASSWORD: xx
      MYSQL_ROOT_PASSWORD: xx
    networks:
      develop:
        aliases:
          - mysql-master-service

请注意,在配置文件中我建议配置好练习账户和密码,如果不配置的话,就只能使用命令行和 root 账户了。

安装 DataGrip

数据库管理软件有很多,比如 PHPAdmin、TablePlus、Navicat 等等,我个人比较喜欢 DataGrip,这里就以 DataGrip 举例:

在 Data Sources and Drivers 界面:下载驱动、输入账户密码、测试连接,一气呵成。

1

注意这里要使用练习账户而不是 root 账户,因为默认情况下,MySQL 不允许 root 账户远程访问数据库。 如果你就是想用 root 账户也可以,修改配置即可,不过我建议还是养成这个好习惯,权力越大事故越大~

导入练习数据库

可以通过这个链接下载练习数据库:https://www.begtut.com/wp-content/uploads/2019/07/mysqldemo.sql.zip

MySQL示例数据库模式由以下表组成:

  • Customers:存储客户的数据。
  • Products:存储比例模型车列表。
  • ProductLines:存储产品系列类别列表。
  • Orders:存储客户下达的销售订单。
  • OrderDetails:存储每个销售订单的销售订单行项目。
  • Payments:存储客户根据其帐户进行的付款。
  • Employees:存储所有员工信息以及组织结构,例如谁向谁报告。
  • Offices:存储销售办公室数据。

练习数据准备完成后,你需要做如下操作:

  1. 使用 root 账户在 MySQL 命令行登录。
  2. 执行 CREATE DATABASE demo 命令,创建一个练习数据库。
  3. 执行 GRANT ALL PRIVILEGES ON demo.* TO 'username'@'%'; 赋予练习数据库的所有权限给练习账户。
  4. 打开 DataGrip 按照下图的操作即可看见刚刚创建的 demo 数据库。

2

  1. 使用 DataGrip 执行最初我们下载好的 SQL 文件,导入练习数据。

3

一切大功告成!现在我们写一个 SQL 看看:

4


原文链接:使用DockerCompose创建MySQL练习环境

Buy me a coffee~
室长 支付宝支付宝
室长 微信微信
0%