一、MySQL数据库搭建与操作
我们在实际项目中,如何用到数据库?
- 测试数据构造(假设你搞不定mock)
- 清理和还原被测系统数据, 一键恢复原来的老数据
- 测试数据的提取
- 写数据的校验
1、数据库概览
- 关系型数据库(RDBMS):
- MySQL、Oracle、Postgres、SQLite(Android用得较多)、SQLServer
- NoSQL数据库:MongoDB、Redis、HBase
- 图数据库:Neo4j
- NewSQL:RethinkDB
2、搭建MySQL
5.7版本比较经典
docker hub官网:https://registry.hub.docker.com/_/mysql
-
docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=insane -d mysql:5.7
image.png -
MySQL官方自带工具
4.5 MySQL Client Programs- 4.5.1 mysql —The MySQL Command-Line Cllient
- 4.5.2 mysqladmin -Client for Administering a MySQL Server
- 4.5.3 mysqlcheck —A Table Maintenance Program
- 4.5.4 mysqldump —A Database Backup Program
- 4.5.5 mysqlimport — A Data lmport Program
- 4.5.6 mysqlpump —A Database Backup Program
- 4.5.7 mysqlshow — Display Database, Table, and Column Information
-
4.5.8 mysqlslap —Load Emulation Client
image.png
进入容器后输入
mysql按tab键可以查看工具集
3、MySQL操作工具--MySQL Workbench
workbench是官网公司,会紧跟mysql的更新,算是一个正统的工具。只有这个工具不满足的时候,再考虑其他工具去辅助。也可以使用Navicat,这里不做过多介绍。
-
下载地址:https://dev.mysql.com/downloads/workbench/
image.png -
创建连接
image.png -
功能菜单:从左往右依次是
- 新建SQL命令窗口
- 打开SQL脚本文件
- 打开Inspector
- 新建数据库
- 新建数据表
- 新建视图
- 新建存储程序
- 新建函数
- 查询
-
重连数据库
image.png
-
新建数据库
image.png -
新建数据表
image.png
4、命令行连接
进入mysql容器:
docker exec -it mysql bash-
查看数据库命令:
mysql --help-
-D:指定数据库Database -
-e:执行指定命令execute -
-h:指定主机host -
-P:指定端口号(大写P) -
-p:输入密码(小写p) -
-U:用户名
image.png
-
-
非交互式执行数据库命令:
mysql -h 127.0.0.1 -uroot -p -Dinsane -e 'show databases;'
image.png 进入mysql交互式命令行:
mysql -h [ip] -uroot -p,输入密码即可-
show databases;
image.png -
查看帮助文档:
\h或help;
image.png -
使用指定数据库:
use insane;
image.png
-
查看当前数据库的表:
show tables;
image.png 插入数据:
insert into insane_table values(1,'insane_loafer');-
查询表的所有数据:
select * from insane_table;
image.png -
退出数据库:
\q
image.png
Tips:可以使用
tab键补全。
假设服务器在远程:
docker run -it -v /Users/seveniruby/projects/test_db:/data/ --rm mysql bash -c "cd /data; mysql -h sql.testing-studio.com -u root -p < /data/employees.sql"
假设数据库服务器你可以直接访问,可以执行:docker exec -i mysql mysql -h sql.testing-studio.com -uroot -phogwarts < /tmp/demo.sql
5、phpmyadmin数据库管理平台
- 与workbench类似,只不过是在浏览器中进行操作
docker run -d --name myadmin -e PMA_ARBITRARY=1 -p 3080:80 phpmyadmin/phpmyadmin-
访问3080端口
image.png
image.png
数据操作
1、测试数据库
-
官网测试数据库:https://github.com/datacharmer/test_db
image.png -
导入数据库
-
将数据库文件下载到本地再上传到docker服务器中
image.png 拷贝目录到mysql容器下:
docker cp test_db-master/ mysql:/root/-
进入到数据库目录文件
image.png -
将数据库文件导入到数据库中:
mysql -h 127.0.0.1 -uroot -p < employees.sql
image.png
-
-
也可自定义数据库名称进行导入:
-
1)只需修改前三行即可
image.png -
2)修改命令:
cat /root/test_db-master/employees.sql | sed -e 's#employees;#employees_insane;#g'
image.png 3)使用管道符导入数据库:
cat /root/test_db-master/employees.sql | sed -e 's#employees;#employees_insane;#g' | mysql -h 127.0.0.1 -uroot -p
-






















