群晖7.0docker部署mysql 群晖7.0docker部署mysql1、下载镜像在docker注册表中搜索mysql,可以选择版本下载,这里选择的是最新版本。2、配置容器2、1高级设置2、2存储空间2、3端口设置– 不建议使用自动2、4环境– 新增变量 值是你的root密码MYSQL_ROOT_PASSWORD3、配置mysql– 双击刚才创建好的mysql3、1 登录mysql– 输入命令mysql -uroot -p– 密码就是刚才设置环境的密码3、2设置远程登陆– 此命
群晖nas设置root用户密码 群晖nas设置root用户密码1、启用ssh登录– 这里建议修改端口以防止恶意登录。2、使用shell工具链接3、切换至root用户sudo -i– 密码为登录时密码4、修改权限cd /etc/sshchmod 755 sshd_config5、修改配置文件vi /etc/ssh/sshd_config5、1输入 i 进入编辑模式– 底部会显示INSERT5、2 修改配置找到这个,将前面的#号删除PermitRootLogin prohibit-password
群晖NAS设置IPV6公网访问 群晖NAS设置IPV6公网访问最近入手了一个群晖nas,记录下设置公网访问的过程。NAS:群晖NAS220+路由器:小米AX36001、打开路由器上的IPV6功能。现在路由器默认的还是使用IPV4,IPV6还是需要手动打开的,再去nas里看下网络信息。注意划线的才是真实分配下来的ipv6地址,24开头。我们可以去www.test-ipv6.com 测试下网络是否连通了IPv6。如果网站的测试通过,说明我们已经成功拥有了IPV6地址。2、设置防火墙默认状态下是不会把内网设备暴露到公网上的。仅仅
右键删除或新增 Open Folder as Intellij IDEA Project 右键删除 Open Folder as Intellij IDEA Project有些软件不使用了,但是快捷方式还在,下面是删除方式。新增方法在最后也会提供。1、win+R打开命令窗口输入regedit1、1 删除右击空白处的快捷方式依次打开Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\IntelliJ IDEA删除IntelliJ IDEA整个文件夹名字可能不太一样,只要能找到你想删除的快捷方式的文件夹名字就行。
Linux搭建MySql主从复制 Linux搭建MySql主从复制概述:复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。优点:主库出现问题,可以快速切换到从库提供服务。可以在从库上执行查询操作,从主库中更新,实现读写分离,降低主库的访问压力。可以在从库中执行备份,以避免备份期间影响主库的服务。1、创建一台全
java获取登录内网ip地址 java获取登录内网ip地址最近好多小伙伴在和我说怎么java怎么获取登录的ip地址,今天就分享一下我的方法了。1、直接获取ip地址//获取request请求HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();//获取IP地址String ipaddr = request.getRemoteAddr();if(ipad
vue+springboot使用数组传输信息 vue+springboot删除使用数组传输后端扔过来一个接口参数需要用数组传输,好头疼,下面给一个自己使用的方法吧。批量删除和单个删除都使用了这个接口。1、前端代码这里只粘贴出来使用到的代码。<!--单个删除--><el-table-column label="操作"> <template slot-scope="scope"> <el-button size="mini"
vue+Springboot上传oss阿里云并回显到前端页面 vue+Springboot上传图片到oss并回显最近需要用到文件上传了,找了好多博客,最后总结了一下,记录一下操作。1、前端代码<!--文件上传弹出框--><el-button type="primary" round @click="uploadvisible=true">添加文件</el-button><!-- 表格显示图片 --> <template> <img :src="imgUrl" width
vue上传和克隆 vue上传和克隆1、vue创建本地仓库2、 执行add3、 commit全选里面的内容。3、1 样式不对的方法选择小齿轮,选择第一个就变成上面图片的样子4、push上传5、克隆这里使用的是本地cmd命令克隆。git clone 这里是你所要克隆的地址执行结果:5、1 打开克隆的项目这里所使用的是webstorm,其他工具操作类似。执行运行命令,发现报错,开始解决。5、2 解决问题这里默认使用了淘宝镜像,先安装cnpmcnpm insta
Vue-axios(二) 1、axios是什么?axios是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,具有以下特点:从浏览器中创建XMLHttpRequest 。从 node.js 发出http请求。支持 Promise API。拦截请求和响应。转换请求和响应数据。取消http请求。自动转换JSON数据。客户端支持防止 CSRF/XSRF(跨站请求伪造)。 看到这里发现axios的作用是不是和Ajax很相似。简单说一一下他们两个的区别,下面会举例说明。 区别:axios是
Node.js安装和创建vue项目 Vode.js安装和修改缓存镜像位置1、下载vode.js【官网地址】下载完成后运行下载文件。一路next就行,到安装目录根据自己的安装位置进行修改,剩下的继续下一步就好。2、修改缓存位置在你的安装目录下创建两个文件夹node_cache node_global。在管理员命令窗口运行一下代码:这里的目录是你的安装目录npm config set prefix "E:odeode_global" npm config set cache "E:odeode_cache"
Vue的学习(一) 今天接触了前端VUE,听起来很简单,简单引用了一下官网的介绍。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:官网链接:https
RabbitMQ的幂等性和集群负载均衡 RabbitMQ的幂等性和集群负载均衡1、RabbitMQ的幂等性 假设你买了一样东西,已经付款了,但是返回结果的时候,你的网络异常了,此时钱已经扣了,用户再次点击支付,就会进行二次扣款,返回结果成功了,但是这样合理嘛?肯定不行的,因为你支付了两次,这样不合理,因为你只需要支付1次就可以。 以前我们只需要将数据操作放到事务中,发生错误立即回滚就行,但是再次相应还是可能会出现网络终端或者异常等情况,所以现在就需要保证用户点击一次或者多次所产生的结果一样。那么此时就可以去这样理解幂等性:对于一个
Redis的缓存穿透和缓存雪崩 Redis的缓存雪崩和缓存穿透 先想一想,redis缓存作为数据库前面的一道门槛,它能极大的减少了直接访问数据库而造成的数据库崩溃,但是此时缓存中没有所访问的数据,用户是会直接访问数据库,那么此时就出现问题了,缓存中没有,就会去查询数据库,每一次查询都会检索一次数据库信息,那么此时有人如果恶意大量访问这条不存在的数据呢?没错,就是想象的那样,数据库会因为大量访问而崩溃,进而导致整个系统停止运行。上面这个问题所说的就是缓存穿透,那么该如何解决呢?1、Redis的缓存穿透现象:缓存穿透是指查询一个根
RabbitMQ----死信队列和延迟队列 RabbitMQ----死信队列和延迟队列 先想一想,如果你有一个快递,一直尝试给你派送,但是一直联系不上你,签收不了,那么此时这个快递该如何处理?是再次尝试派送,还是处理掉? 现在引入一个名词,死信,顾名思义:就是不能被消费的信息,字面意思可以这样理解,生产者(发送方)将信息传递到交换机,交换机将信息发送到队列中,消费者从队列中取出信息并消费掉,但是由于各种原因,导致队列中的某些信息不能被消费,这样的消息如果没有后续的处理,就变成了死信,有了死信信息,就有了死信的队列,也就有了死信交换机(Dead
RabbitMQ----消费端限流、TTL和使用代码生成交换机队列 RabbitMQ----消费端限流和TTL先想一想什么是消费端限流? 假设一个场景,首先我们rabbitmq服务器上面有上万条没有处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量消息瞬间全部推送过来,但是我们当个客户端没有办法进行处理这么多的数据,可能会造成服务器宕机。上面这个假设可能不好理解,看看下面这个例子。 说一家餐馆,你去吃饭,你本来只能吃10碗,老板做了100碗,你本来是吃完一碗叫老板再给你端一碗,但是老板一下子把所有的都给你,说让你吃完,这时候吃的掉吗?此时就引入了一个
RabbitMQ----消息可靠性传递 RabbitMQ的高级特性 在开始之前,先想想几个问题,我们采用了生产者(channel)---->交换机------>队列中,那么如果其中生产者在向交换机发送信息是能一定发送成功吗?,该如何确认信息的状态,或者说交换机在向队列发送信息的时候发送失败,那么该如何解决。 举个例子:你购买了一件商品,商品要通过快递到你手里,就可以理解成你就是队列, 商品要到快递站,此时你的快递就有可能出现丢失的情况(这里可以理解成生产者(channel)---->交换机),快递丢了,是不是就要告诉一下