QA测试流程和测试架构

发表于:2017-9-01 17:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:诸葛亮    来源:51Testing软件测试网采编

  QA测试流程和测试架构
  概述: 主要存放新产品研发本地部署和应急部署的ops工具和dba工具,文档,资料等。
  运维计划
  本地部署
  USB+DVD+KVM Bridge+LocalCentOS 7 Static IP
  部署实施培训计划 分几期
  2017年5月份
  应急部署
  CentOS7 PGDB TOMCAT NODEJS
  硬件+软件 一体化
  公有云部署
  Aliyun Cloud
  Test URL pms.test.com java.test.com
  阿里云生产环境机器信息 8 Machine SetUp -TBD
  阿里云生产环境机器信息
  培训计划
  基础镜像的制作
  a.centos kvm images /kickstart ios images USB
  b.use USB device to install boot PC Server
  PMS 在基础镜像VM里的安装部署
  a.install centos and kvm
  b.excute shell script and init pms vm base env.
  PMS VM安装步骤
  a. modify centos hostname and hosts file
  b. install zookeeper redis pgsql
  c.install node npm some plugs , config tomcat server
  d. deploy war packages to tomcatsever ,and use npm pm2 start node process.
  PMS 本地环境的优化和培训
  阿里云上线安装软件版本###############################################################################################################
  apache-tomcat-9.0.0.M20zookeeper-3.4.8rabbitMq-3.6.1erlang-18.3redis-3.2.1
  FastDFS-5.05
  PostgreSQL 9.6.1
  Node 6.9.1 NPM 3.10.10
  Linux.Postgres数据库恢复
  ##########################Postgres DUMP Restore###############################
  1、\l -- 查看服务器上的全部数据库、模板等;
  2、\d --查看指定数据库中的全部数据表;
  2.1 \d5 --查看表的详情,包括大小、注释等;
  2.2 \di -- 查看索引
  2.3 \ds -- 查看序列
  2.4 \dv --查看视图
  2.5 \df --查看函数 2.6 \dn -- 查看指定数据库中的全部模式;
  2.7 \db --查看全部表空间;
  2.8 *dg或者\du* --查看所有角色或者用户;
  2.9 \dp或\z -- 查看表的权限分配;
  3、\c --切换数据库;
  4、\pset用于设置输出的格式;
  4.1 \pset border 0 -- 输出内容无边框
  4.2 \pset border 1 -- 边框只在内部
  4.3 \pset border 2 -- 内外边框
  5、show search_path -- 显示当前搜索路径;
  6、修改表的默认值:Alter table a alter column age set default 15;
  7、删除表的默认值:Alter table a alter column age drop default;
  8、删除表的约束:Alter table drop constraint constraint_name;
  9、修改字段类型:Alter table a alter column name type text;
  10、删除表的字段:Alter table a drop column age ;
  11、表字段重命名:Alter table a rename column age to ages;
  12、表名重命名:Alter table a rename to b;
  13、表继承:create table A(id int,name text) inherits(B);此时通过select可以看到B中完全继承A中的字段;
  14、SQL执行时间:\timing;
  15、\x -- 把表中每一行的每列数据都将拆分为单行展示;
  16、\i -- 执行存储在外部文件中的SQL语句或命令,还可以使用psql -x -f 来执行
  17、 \echo --用来打印输出文本
  18、 ? -- 查看更多地命令
  19、 \set autocommit off -- 关闭自动提交
  20、 \set ECHO_HIDDEN on|off 如果想在已运行的psql中显示某一个命令实际执行的sql,但显示完后又想关闭这个功能,就是用此命令。
  21、set xmloption to document -- 设置xml格式的值只能有一个顶级元素,如果设置成'content'则可以有多个顶级元素;
  22、xmlparse -- 将字符串转换成xml类型
  ======================================================================================
  PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限。所以一直寻找完美的备份恢复方案。
  一: 纯文件格式的脚本: 示例:1. 只导出postgres数据库的数据,不包括模式 -s pg_dump -U postgres -f /postgres.sql -s postgres(数据库名)2. 导出postgres数据库(包括数据) pg_dump -U postgres -f /postgres.sql postgres(数据库名)3. 导出postgres数据库中表test01的数据 create database "test01" with owner="postgres" encoding='utf-8';(单引号,双引号不能错) pg_dump -U postgres -f /postgres.sql -t test01 postgres(数据库名)4. 导出postgres数据库中表test01的数据,以insert语句的形式 pg_dump -U postgres -f /postgres.sql -t test01 --column-inserts postgres(数据库名)5. 恢复数据到bk01数据库 psql -U postgres -f /postgres.sql bk01二、 使用归档文件格式:pg_restore使用pg_restore纯文本恢复纯文本格式的脚本,无法恢复[root@localhost postgres-9.3.5]# pg_restore -U postgres -d bk01 /mnt/hgfs/window&ubuntu\ shared\ folder/vendemo.sql pg_restore: [archiver] input file appears to be a text format dump. Please use psql.pg_restore和归档文件格式一起使用重建数据库。1. 先备份: pg_dump -U postgres -F t -f /vendemo.tar vendemo 备份下来有800多k . 恢复: pg_restore -U postgres -d bk01 /vendemo.tar 2. 先备份: pg_dump -U postgres -F c -f /vendemo.tar vendemo 备份下来有300多k . 恢复: pg_restore -U postgres -d bk01 /vendemo.tar 三、 压缩备份与恢复:处理大数据库:1. 使用压缩的转储. 使用你熟悉的压缩程序,比如说 gzip。 . 先备份: pg_dump -U postgres vendemo | gzip > /vendemo.gz 备份下来只有30多k . 恢复: gunzip -c /vendemo.gz | psql -U postgres bk02 或者 cat /vendemo.gz | gunzip | psql -U postgres bk022. 使用 split。. split 命令允许你 你用下面的方法把输出分解成操作系统可以接受的大小。 比如,让每个块大小为 1 兆字节: . 先备份: pg_dump -U postgres -d vendemo | split -b 100k - /vend/vend 导出来的样子是 vendaa 100k vendab 100k vendac 100k vendad 16k . 恢复: cat /vend/vend* | psql -U postgres bk02
  梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9.5\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_dump.exe,psql.exe两个文件。我们怎么用他们?
  用法:
  备份数据库,指令如下:
  pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
  开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:
  cd C:\Program Files\PostgreSQL\9.0\bin
  最后执行备份指令:
  pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
  指令解释:如上命令,pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;postgres 是数据库的用户名;databasename 是数据库名。> 意思是导出到C:\databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: \Program Files\PostgreSQL\9.0\bin 文件夹里。
  恢复数据库,指令如下:
  psql -h localhost -U postgres -d databasename < C:\databasename.bak(测试没有成功)pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasename.backup"(测试成功)
  指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证 数据库允许外部访问的权限哦~);postgres 就是要恢复到哪个数据库的用户;databasename 是要恢复到哪个数据库。< 的意思是把C:\databasename.bak文件导入到指定的数据库里。
  以上所有的是针对windows而言的,如果在linux下,会不会有效?
  在linux里依然有效。有一个值得注意的是:如果直接进入PostgreSQL的安装目录bin下,执行命令,可能会出现 找不到pg_dump,psql的现象,我们在可以这样:
  备份:
  /opt/PostgreSQL/9.5/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.bak
  恢复:
  /opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.bak
  ##########################MYSQL DUMP Restore###############################
  mysqldump命令式备份整个DB用的。
  shell> **mysqldump *db_name
  *backup-file.sql
  **
  把备份的数据导入空数据库的命令。
  shell> **mysql *db_name
  < *backup-file.sql
  **
  或者下面的这个命令。
  shell> **mysql -e "source */path-to-backup/backup-file.sql
  *" *db_name
  **
  在使用上面的命令的时候有可能会报版本不对。
  原因是Linux中mysql命令的版本和你想导入的那个数据库的版本不一致。
  变通做法是跑到数据库的bin目录下面。
  shell> ./**mysqldump *db_name
  *backup-file.sql
  **
  把备份的数据导入空数据库的命令。
  shell> ./**mysql *db_name
  < *backup-file.sql
  **
  ==================================================================
  **
  1.进入MySQL目录下的bin文件夹:e:回车;
  e:>cd mysql\bin? 回车
  2.导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  范例:mysqldump -uroot -p abc > abc.sql(导出数据库abc到abc.sql文件)提示输入密码时,输入该数据库用户名的密码(如果导出单张表的话在数据库名后面输入表名即可)
  如果提示locktable错误:则在mysqldump -uroot -p abc后面空一格加上--skip-lock-tables**
  3、会看到文件news.sql自动生成到bin文件下?
  MySQL命令行导入数据库:
  1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,同上面导出的第1步3,进入MySQL:mysql -u 用户名 -p如我输入的命令行:mysql -u root -p?? (输入同样后会让你输入MySQL的密码)4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库5,输入:mysql>use 目标数据库名如我输入的命令行:mysql>use news;6,导入文件:mysql>source 导入的文件名;如我输入的命令行:mysql>source news.sql;
  MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。1.Win32下MySQL的备份与还原1.1 备份开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump? -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。?1.2 还原进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。?2.Linux下MySQL的备份与还原2.1 备份[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。2.2 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。法二:[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号