当前位置: 首页 > news >正文

建筑业企业资质标准建设部网站wordpress左侧插件

建筑业企业资质标准建设部网站,wordpress左侧插件,百度快照 网站描述 更新,wordpress强制安装插件目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑#xff0c;生产环境的权限一般都是要做最小化控制#xff0c;尤其是数据库的操作授…目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑生产环境的权限一般都是要做最小化控制尤其是数据库的操作授权更是重中之重。 博主所在公司使用的是Kubernetes(k8s)进行的集群容器管理因为容器发布时的IP都是动态分配的而出于安全性考虑数据库的授权又不能全部放开或者针对整个集群的IP所以有了动态为节点进行数据库授权的需求所以也就诞生我们今天的主角--数据库授权组件Mysql-grant。 当然我们今天介绍的不是这个组件的开发而是相关的测试过程记录。 组件原理 这个数据库动态授权组件的原理不复杂每次Kubernetes有节点变化上线或者下线服务时调取Kubernetes相关的API接口获取已配置的服务改变的对应节点的IP然后对其进行授权或者权限回收操作IPuser。相当于在获取到信息之后执行下面的命令 grant select,insert,update on 库名.表名 to 用户名IP地址 identified by 密码 with grant option;测试设计 在了解了具体的需求之后我很快的确定了测试思路。具体如下 拉起两个mysql数据库每个库中新建两个DB每个DB个新建一张表。写一个无限循环的脚本每隔两秒访问一次数据库插入一条数据查询一次数据。把脚本打包到多个不同的镜像服务中push到公司的镜像库中。然后根据设计的场景使用k8s(Kubernetes)发布、下线服务、做Mysql-grant相关的配置信息改变来完成相关验证; 环境 这次主要用的环境如下 golang开发环境docker环境镜像运行环境centos 测试脚本 考虑到镜像的大小及Dockerfile的复杂性本次使用了golang来写这个脚本直接编辑成二进制文件可以不依赖环境执行具体的脚本如下把他保存为mysqlgrant-test.go即可 package mainimport (timedatabase/sqlfmt_ github.com/go-sql-driver/mysql )func main() {count : 0for{fmt.Println()// fmt.Println(count)fmt.Println(time.Now().Format(2006-01-02 15:04:05))time.Sleep(time.Second * 2)countdb, err : sql.Open(mysql, root:123456tcp(127.0.0.1:3306)/easytest?charsetutf8)checkErr(err)//插入数据stmt, err : db.Prepare(INSERT base_case SET case_name?,project_id?,content?,description?)checkErr(err)res, err : stmt.Exec(count, Golang, time.Now(),time.Now())checkErr(err)id, err : res.LastInsertId()checkErr(err)fmt.Println(id)//查询数据rows, err : db.Query(select * from base_case order by case_id desc limit 1)checkErr(err)for rows.Next() {var content stringvar case_id stringvar case_name stringvar project_id stringvar description stringerr rows.Scan(description, case_id, case_name, project_id, content)checkErr(err)fmt.Println(case_id : case_name project_id description content)// fmt.Println(case_id)// fmt.Println(case_name)// fmt.Println(project_id)// fmt.Println(content)// fmt.Println(description)}db.Close()} }func checkErr(err error) {if err ! nil {panic(err)} }脚本build为linux可执行文件 golang脚本的编译命令如下 go build 脚本名称但是因为楼主使用的是windows默认的会直接build成 .exe文件 所以我们要手动设置环境变量具体命令如下 SET CGO_ENABLED0 SET GOOSlinux SET GOARCHamd64 go build mysqlgrant-test.goGOOS目标平台的操作系统darwin、freebsd、linux、windows GOARCH目标平台的体系架构386、amd64、arm 交叉编译不支持 CGO 所以要禁用它 上面的命令编译 64 位可执行程序你当然应该也会使用 386 编译 32 位可执行程序 镜像构建 Dockerfile 上面的脚本准备好了之后接下来要制作镜像我们这次试用的是dockerfiledockerfile内容如下 FROM centos:6.7 MAINTAINER bingoxxxx.com RUN mkdir -p /usr/local/user-web/mysqlgrant-test ADD ./mysqlgrant-test /usr/local/user-web/mysqlgrant-test #ADD ./conf /usr/local/usr-web/mysqlgrant-test/conf WORKDIR /usr/local/user-web/mysqlgrant-test CMD ./mysqlgrant-testDocker build 将上面的信息保存到dockerfile文件之后切换到文件所在目录执行下面命令来进行镜像的构建 docker build -t mysqlgrant-test/centos:v1.0 . 参数说明 -t 指定要创建的目标镜像名 . Dockerfile 文件所在目录可以指定Dockerfile 的绝对路径注意后面的.不能遗漏它表示在当前目录构建的意思 镜像构建成功之后我们可以通过下面的命令来查看 rootmsxxx:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysqlgrant-test/centos v1.0 70bf1840fd7c 15 seconds ago 158.5 MB镜像有效性验证 我们可以使用新的镜像来创建容器: rootmsxxx:~$ docker run -it mysqlgrant-test/centos:v1.0 /bin/bash --name mysqlgrant参数说明--name mysqlgrant表示为这个容器设置了一个叫mysqlgrant的别名-t:在新容器内指定一个伪终端或终端。-i:允许你对容器内的标准输入 (STDIN) 进行交互。 执行上面的命令后会默认进入mysqlgrant-test目录即我们上面在dockerfile中设置的WORKDIR。 当然我们也可以直接执行下面的命令来获取容器的标准输出 docker logs mysqlgrant这就是脚本输出的内容 至此所有的东西准备完毕只需要根据准备好的测试用例做相关业务场景的验证就可以了。 总结 在新技术应用的过程中难免会遇到一些问题比如我们今天的介绍的容器化过程中解决数据库鉴权问题开发的组件。我的感触是接触新的事物我们能学习到更多的东西。此前学习的docker、golang等等都没有实战的基础这一次虽然也只是简单的实践但是还是有一种豁然开朗的感觉。 资料获取方法 【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连 三连之后我会在评论区挨个私信发给你们~
http://www.tj-hxxt.cn/news/229550.html

相关文章:

  • 如何低成本做网站推广郑州优化网站
  • 设计类网站建设规划书设计商城网站建设
  • 社区网站建设方案pptenfold wordpress主题
  • 东莞专业设计网站网站建设方案推广
  • linux建设门户网站技术先进的网站设计制作
  • 废品回收网站怎么做网站优化wordpress主题文件夹在
  • 提高自己网站做网站对公司的作用
  • 论文网站开发o2o手机维修网站那个公司做的
  • 学做网站的视频教学乐清网论坛
  • 建设部网站资质公示商务网站开发报告
  • 2020电商网站排行榜wordpress微缩图
  • 定制企业网站有哪些网站建设需要多大的空间
  • wordpress高亮插件优化算法分类
  • 天津专业网站制作黄骅港一期煤码头潮汐表
  • 建站行业现状探讨海口建设公司网站
  • 网络营销策划目的百度seo价格查询
  • 建设银行不会自动弹出网站python怎么做视频网站
  • 做网站的微信号旅游网站建设项目报告论文
  • 怎么做提升自己的网站网络工程规划与设计方案
  • 网站分类目录大全电子商务网站开发环境
  • 广德做网站设计开发网络推广方案的参考文献
  • 5v贵阳做网站的价格1500元个性定制首选方舟网络网站制作专家
  • 公司网站建设的作用与意义云主机挂游戏
  • 怎么自己在电脑上做网站网页平面设计培训学校
  • cloud域名注册网站目前建设网站
  • 响应式网站有什么好处哈尔滨百度关键词优化
  • 医药建设网站最近最新mv在线观看免费高清
  • wordpress取消邮箱怎样淘宝做seo网站推广
  • 静态手机网站基础gstatic wordpress
  • 西安关键字优化哪家好seo搜索优化工程师招聘