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

本文详细介绍如何在本地环境中安装MySQL官方提供的示例数据库Employees,包括适用于Centos服务器及Docker容器的安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

 
  在此之前笔者写过一篇博客《你说精通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 文件
 

mysql示例数据库 employee,这个大家也可以到github官网下载。 https://github.com/datacharmer/test_db test_db A sample database with an integrated test suite, used to test your applications and database servers This repository was migrated from Launchpad. See usage in the MySQL docs Where it comes from The original data was created by Fusheng Wang and Carlo Zaniolo at Siemens Corporate Research. The data is in XML format. http://timecenter.cs.aau.dk/software.htm Giuseppe Maxia made the relational schema and Patrick Crews exported the data in relational format. The database contains about 300,000 employee records with 2.8 million salary entries. The export data is 167 MB, which is not huge, but heavy enough to be non-trivial for testing. The data was generated, and as such there are inconsistencies and subtle problems. Rather than removing them, we decided to leave the contents untouched, and use these issues as data cleaning exercises. Prerequisites You need a MySQL database server (5.0+) and run the commands below through a user that has the following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW Installation: Download the repository Change directory to the repository Then run mysql < employees.sql If you want to install with two large partitioned tables, run mysql < employees_partitioned.sql Testing the installation After installing, you can run one of the following mysql -t < test_employees_md5.sql # OR mysql -t < test_employees_sha.sql For example: mysql -t < test_employees_md5.sql +----------------------+ | INFO | +----------------------+ | TESTING INSTALLATION | +----------------------+ +--------------+------------------+----------------------------------+ | table_name | expected_records | expected_crc | +--------------+------------------+----------------------------------+ | employees | 300024 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白有点菜

你的鼓励决定文章的质量

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值