下载和安装MySQL官方提供的示例数据库(Employees)

2023-05-16

一、前言

 
  在此之前笔者写过一篇博客《你说精通MySQL其实很菜jī(1):你不一定会的基本技巧或知识点(值得一看)》,本文内容是从那篇博客截取出来的。我们要学习MySQL相关的技术点,使用官方提供的测试数据库肯定是最好的选择,因为会非常地全面。
 
  与MySQL相关的安装部署博客如下:

最新MySQL-5.7.40在云服务器Centos7.9安装部署
 
写最好的Docker安装最新版MySQL8(mysql-8.0.31)教程(参考Docker Hub和MySQL官方文档)

  本文由 @大白有点菜 原创,请勿盗用,转载请说明出处!如果觉得文章还不错,请点点赞,加关注,谢谢!
 

二、MySQL官方示例数据库(Employees)下载并安装

 
  MySQL官方提供一个示例数据库 Employees 以供大家测试。官网中是这么介绍 Employees 示例数据库的:

  Employees 示例数据库由 Patrick Crews 和 Giuseppe Maxia 开发,提供了分布在六个单独表上的大量数据(大约 160MB)的组合,总共包含 400 万条记录。该结构与广泛的存储引擎类型兼容。通过包含的数据文件,还提供了对分区表的支持。
 
  除了基础数据之外,Employees 数据库还包括一套可以跨测试数据执行的测试,以确保您加载的数据的完整性。这应该有助于确保初始加载期间的数据质量,并且可以在使用后使用以确保在测试期间没有对数据库进行任何更改。

  【Employees 示例数据库简介 - 官方文档】:
  https://dev.mysql.com/doc/employee/en/employees-introduction.html
 
Employees 示例数据库简介 - 官方文档
 
  【Employees 示例数据库安装 - 官方文档】:
  https://dev.mysql.com/doc/employee/en/employees-installation.html
 
Employees 示例数据库安装 - 官方文档
 
  【Employees 示例数据库github下载地址,这里最新是 1.0.7 版】:
  https://github.com/datacharmer/test_db/releases/tag/v1.0.7
 
(1)github上下载Employees 示例数据库,如果下载不了,那就采用手动上传的方式。注意,可以下载到指定路径,笔者是直接下载到Centos最顶层的目录,使用命令 cd ~ 即可切换到那里。

wget 'https://codeload.github.com/datacharmer/test_db/zip/master' -O test_db-master.zip

github上下载Employees 示例数据库,如果下载不了,那就采用手动上传的方式
 
(2)解压 test_db-master.zip 压缩包,并切换到 test_db-master 目录下查看有哪些文件。我们要关注 employees.sql 脚本,里面有执行还原数据库的操作。

unzip test_db-master.zip
cd test_db-master

解压 test_db-master.zip 压缩包
 
(3)安装 Employees 数据库:Centos上直接安装MySQL的。

  • 使用 mysql 命令执行 employees.sql 脚本还原 employees 数据库。
mysql -u root -p123456 < employees.sql
  • 连接 mysql 数据库。
mysql -u root -p123456
  • 切换到 employees 数据库。
use employees;
  • 查看 employees 数据库所有表。
show tables;

使用employees.sql脚本还原 employees 数据库
 
查看 employees 数据库中的所有表

 
(4)安装 Employees 数据库:Docker上启动MySQL容器的。
 
【Docker启动MySQL容器相关系列安装部署教程】

写最好的Docker安装最新版MySQL8(mysql-8.0.31)教程(参考Docker Hub和MySQL官方文档)
 
Docker安装最新版MySQL5.7(mysql-5.7.40)教程(参考Docker Hub)

 
1)此步很重要,一定要将 Employees 数据库有关的数据文件(employees.sql、show_elapsed.sql、load_departments.dump、load_employees.dump、load_dept_emp.dump、load_dept_manager.dump、load_titles.dump、load_salaries1.dump、load_salaries2.dump、load_salaries3.dump)复制到 MySQL 容器挂载的数据目录下,不然执行 employees.sql 脚本文件会报错!笔者运行MySQL容器挂载的数据目录是 /mydata/mysql/data/

cp ~/test_db-master/employees.sql show_elapsed.sql *.dump /mydata/mysql/data/

2)方法一执行 employees.sql 脚本。这种方式虽然有点麻烦,但是不用进入到MySQL容器中去执行 employees.sql 脚本。需要修改复制到 /mydata/mysql/data/ 目录下的 employees.sql 文件。修改有两种方式,建议使用第一种。

  • 方便第一种方式修改 /mydata/mysql/data/ 目录下的 employees.sql 文件,使用 sed 命令匹配每个数据文件名称,并在其前面添加 /var/lib/mysql/ 路径,这路径是 mysql 的数据目录。“\”反斜杠代表转义符,主要转义“/”这个路径符号
sed -i 's/load_departments.dump/\/var\/lib\/mysql\/load_departments.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_employees.dump/\/var\/lib\/mysql\/load_employees.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_dept_emp.dump/\/var\/lib\/mysql\/load_dept_emp.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_dept_manager.dump/\/var\/lib\/mysql\/load_dept_manager.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_titles.dump/\/var\/lib\/mysql\/load_titles.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_salaries1.dump/\/var\/lib\/mysql\/load_salaries1.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_salaries2.dump/\/var\/lib\/mysql\/load_salaries2.dump/' /mydata/mysql/data/employees.sql
sed -i 's/load_salaries3.dump/\/var\/lib\/mysql\/load_salaries3.dump/' /mydata/mysql/data/employees.sql
sed -i 's/show_elapsed.sql/\/var\/lib\/mysql\/show_elapsed.sql/' /mydata/mysql/data/employees.sql
  • 麻烦第二种方式修改 /mydata/mysql/data/ 目录下的 employees.sql 文件,手动编辑 employees.sql 文件,并在每个数据文件名称前面添加 /var/lib/mysql/ 路径。
vim /mydata/mysql/data/employees.sql
/var/lib/mysql/

手动修改 /mydata/mysql/data/ 目录下的 employees.sql 文件
 

  • docker exec -i 命令运行MySQL容器,并使用 mysql 命令执行 employees.sql 脚本还原 employees 数据库。参数 -i 后面可以是 容器名称 或者 容器id(两种写法)
docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /mydata/mysql/data/employees.sql

或者

docker exec -i 673 sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /mydata/mysql/data/employees.sql

docker exec -i 命令运行MySQL容器,并使用 mysql 命令执行 employees.sql 脚本还原 employees 数据库
 

  • 测试 employees 数据库是否已经安装好,这里只查询 departments 表的数据(两种写法)。
docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "use employees;" -e "select * from departments;"'

或者

docker exec -i 673 sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "use employees;" -e "select * from departments;"'

测试 employees 数据库是否已经安装好,这里只查询 departments 表的数据
 
3)方法二执行 employees.sql 脚本。这种方式需要进入到MySQL容器中去执行 employees.sql 脚本,不需要修改 employees.sql 文件。

  • 进入到MySQL容器(两种写法)。
docker exec -it mysql /bin/bash

或者

docker exec -it 673 /bin/bash
  • 切换到 /var/lib/mysql 目录。
cd /var/lib/mysql
  • 使用 mysql 命令执行 employees.sql 进行数据库还原(两种写法)。
mysql -u root -p"$MYSQL_ROOT_PASSWORD" < employees.sql

或者

mysql -u root -p123456 < employees.sql
  • 测试 employees 数据库是否已经安装好,这里只查询 departments 表的数据(两种写法)。
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e 'use employees;' -e 'select * from departments;'

或者

mysql -u root -p123456 -e 'use employees;' -e 'select * from departments;'

方法二执行 employees.sql 脚本。这种方式需要进入到MySQL容器中去执行 employees.sql 脚本,不需要修改 employees.sql 文件
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下载和安装MySQL官方提供的示例数据库(Employees) 的相关文章

  • Linux版本号串记录(ubuntu系列)

    Linux version 4 4 0 112 generic buildd 64 lgw01 amd64 010 gcc version 5 4 0 20160609 Ubuntu 5 4 0 6ubuntu1 16 04 5 135 U
  • 死锁的四个必要条件

    死锁 在高并发中是一个常见的名词 产生的四个必要条件如下 xff1a 互斥条件 xff1a 一个资源同一时间能且只能被一个线程访问 xff1b 不可掠夺 xff1a 当资源被一个线程占用时 xff0c 其他线程不可抢夺该资源 xff1b 请
  • Sphinx index.rst

    假设我们有两个文本file1 rst和file2 rst他们的内容如下 file1 rst span class hljs header file1 title1 61 61 61 61 61 61 61 61 61 61 61 61 sp
  • Git - 图形化界面操作

    目录 1 新建仓库 2 代码提交 3 代码回滚 4 新建分支 5 合并分支 6 重置合并 7 分支变基 8 分支优选 Git 的图形化界面操作 xff0c 使用 Idea 进行演示 1 新建仓库 对于一个代码仓库 Create Git re
  • CMakeLists

    1 指定 cmake 的最小版本 cmake minimum required VERSION 3 4 1 2 设置项目名称 xff0c 它会引入两个变量 demo BINARY DIR 和 demo SOURCE DIR xff0c 同时
  • 七步实现STM32MP157多核协同工作(Cortex-A7与Cortex-M4通信)

    写在前面 xff1a STM32MP157是ST进军Linux的首款微处理器 xff0c 采用MCU 43 MPU的组合 xff0c 集成两颗主频微800MHz的Cortex A7应用处理器内核 xff08 支持开源linux操作系统 xf
  • 【实战】STM32 FreeRTOS移植系列教程4:FreeRTOS 软件定时器

    写在前面 xff1a 本文章为 STM32MP157开发教程之FreeRTOS操作系统篇 系列中的一篇 xff0c 笔者使用的开发平台为华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 stm32mp157是
  • 【实战】STM32 FreeRTOS移植系列教程5:FreeRTOS消息队列

    写在前面 xff1a 本文章为 STM32MP157开发教程之FreeRTOS操作系统篇 系列中的一篇 xff0c 笔者使用的开发平台为华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 stm32mp157是
  • 学习嵌入式linux为什么推荐stm32mp157开发板?

    stm32mp157是ST推出的一款双A7 43 M4多核异构处理器 xff0c 既可以学习linux xff0c 又可以学习stm32单片机开发 xff0c 还可以拓展物联网 人工智能方向技术学习 xff0c 并极大丰富linux应用场景
  • STM32 Linux开发板——教程+视频+项目+硬件

    STM32 Linux开发板 适合入门进阶学习的Linux开发板 xff1a 华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 开发板介绍 FS MP1A开发板是华清远见自主研发的一款高品质 高性价比的Lin
  • 编程语言对比 面向对象

    C 43 43 面向对象 java面向对象 python面向对象 java中是public int a 61 10 C 43 43 中是 public int a 61 10 C 43 43 中有拷贝构造
  • 嵌入式linux物联网毕业设计项目智能语音识别基于stm32mp157开发板

    stm32mp157开发板FS MP1A是华清远见自主研发的一款高品质 高性价比的Linux 43 单片机二合一的嵌入式教学级开发板 开发板搭载ST的STM32MP157高性能微处理器 xff0c 集成2个Cortex A7核和1个Cort
  • CMake(一)

    CMake xff08 一 xff09 简述 在之前的文章中介绍了 qmake的使用 相比qmake xff0c CMake稍微复杂一点 xff0c 它使用CMakeList txt文件来定制整个编译流程 同时 xff0c CMake会根据
  • LTE网元功能

    LTE 网元功能 2015 03 30 22 33 31 分类 xff1a NetworkProtocols 举报 字号 订阅 下载LOFTER 我的照片书 主要网元功能 eNodeB Radio Resou
  • [C++] 32位C++程序,计算sizeof的值

    sizeof str 61 6 字符串数组 xff0c 大小是六个字节 加上 39 0 39 共六个 sizeof p 61 4 指针的内容就是一个指向目标地址的整数 xff0c 所以不管指向char int还是其他 xff0c 32位机指
  • 串口打印printf

    串口打印printf 1 配置串口2 添加代码3 使用MDK勾选Mircro LIB 1 配置串口 打开STM32CubeMX xff0c 创建工程 xff0c 配置串口 2 添加代码 重写fputc函数 xff0c 需要包含头文件 inc
  • 22.Ubuntu出现“由于没有公钥,无法验证下列签名”

    由于没有公钥 xff0c 无法验证下列签名 1 无公钥错误2 输入命令导入公钥3 注意 1 无公钥错误 使用sudo apt update时出现以下错误 xff1a 我图中的公钥就是 xff1a 3B4FE6ACC0B21F32 xff08
  • nyist 27 水池数目(dfs搜索)

    xfeff xfeff 水池数目 时间限制 xff1a 3000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 南阳理工学院校园里有一些小河和一些湖泊 xff0c 现在 xff0c 我们把它们通一看成水池 xff
  • XTUOJ 1176 I Love Military Chess(模拟)

    xfeff xfeff I Love Military Chess Accepted 45 Submit 141Time Limit 1000 MS Memory Limit 65536 KB 题目描述 陆军棋 xff0c 又称陆战棋 xf
  • 数据结构课程设计之一元多项式的计算

    数据结构不是听会的 xff0c 也不是看会的 xff0c 是练会的 xff0c 对于写这么长的代码还是心有余也力不足啊 xff0c 对于指针的一些操作 xff0c 也还是不熟练 xff0c 总出现一些异常错误 xff0c 对于数据结构掌握还

随机推荐