c# ado.net连接mysql报错“Reading from the stream has failed”
“Authentication to host ‘localhost’ for user ‘root’ using method ‘mysql_native_password’ failed with message: Reading from the stream has failed” 昨天晚上,因为某些原因,几天没打开的C#.net winform项目调试时突然启动失败,冒出来这个提示。 说实话,因为没抓着重点,我昨晚基本上就浪费了,虽然我猜到了是连接超时之类的原因,可一直没明白究竟是我弄错了什么,才会连接不上MySQL数据库 今天再找原因的时候,就Get到重点了:“Reading from the stream has failed”,这个是数据库返回的报错信息 搜索了一下,看到一个文章,说是从MySQL5.7以后,就增加了SSL连接验证功能,这个功能就可能导致上面这个报错,关掉它的话,连接速度能变快 尽管根据了解到的资料,SSL这个校验应该不会影响到使用 Localhost(本地)方式连接的才对,但还是死马当活马医,在ado.net连接字符串里加上了“SslMode=None;” 结果是成功的,确实不再报错,连接上了 再回过头来想想,我这两天也没对MySQL做过什么设置更改啊,仅有的操作,就是配置了一下ODBC数据源,怎么会突然间就出现这毛病呢? 不知道有没有大佬了解的,求科普 ———————————————— 版权声明:本文为CSDN博主「某店长」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/jdjdjdjdjdjd/article/details/89068331
View Detailslinux常用查看文件或日志命令
常见查看文件内容命令汇总如下: cat filename 查看日志,会打开整个文件,直接跑到最后面 tac filename 查看日志,会打开整个文件,倒序显示,不常用 more filename 查看日志,可以上下翻页,上下行移动显示 less filename 查看日志,和more命令类似,但不能往回翻页 tail -f filename 查看文件,实时显示最后一页 vi filename 查看或编辑文件 查找文件内容关键字方法: 先 执行命令>: vi filename 然后输入>: /查找字符串 按n查找下一个 示例: 如查找nohup.out日志文件的error关键字: 执行命令: vi nohup.out 输入以下回车: /error 按n查找下一个,按N(大写)查找上一个 将实时日志打印到指定文件: 示例: 将实时日志打印到文件newlog.log内,方便查找 执行命令: tail -f nohup.out >newlog.log 备注:newlog.log文件可以不存在,命令执行时会自动新建 from:https://www.cnblogs.com/whitemouseV2-0/p/9990676.html
View Detailsvconsole 的安装以及使用
1. 安装
|
1 |
npm install vconsole |
2. 使用 main.js
|
1 2 3 |
import Vconsole from 'vconsole' const vConsole = new Vconsole() Vue.use(vConsole) |
运行即可看到~右下角的vconsole from:https://blog.csdn.net/luckyzhoufangbing/article/details/95978480
View Detailsgit放弃暂存区的修改
|
1 2 3 4 5 6 7 8 |
暂存区的修改就是已经你已经将文件 add,但是还没有commit的时候。 此时HEAD执行最近一次提交的commit。 放弃暂存区的修改 git reset HEAD 然后可以执行 git diff --cached 比较一下暂存区和最近一次的commit的不同,应该是没有输出的。 |
from:https://blog.csdn.net/weixin_36149892/article/details/86597086
View Detailsvue路由传参的三种基本方式
项目中很多情况下都需要进行路由之间的传值,想过很多种方式 sessionstorage/localstorage/cookie 进行离线缓存存储也可以,用vuex也可以,不过有些大材小用吧,不管怎么说因场景而异 下面我来说下vue自带的路由传参的三种基本方式 先有如下场景 点击当前页的某个按钮跳转到另外一个页面去,并将某个值带过去
|
1 |
<div class="examine" @click="insurance(2)">查看详情</div> |
第一种方法 页面刷新数据不会丢失
|
1 2 3 4 5 6 7 |
methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`, }) } |
需要对应路由配置如下:
|
1 2 3 4 5 |
{ path: '/particulars/:id', name: 'particulars', component: particulars } |
可以看出需要在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值 另外页面获取参数如下
|
1 |
this.$route.params.id |
第二种方法 页面刷新数据会丢失 通过路由属性中的name来确定匹配的路由,通过params来传递参数。
|
1 2 3 4 5 6 7 8 9 |
methods:{ insurance(id) { this.$router.push({ name: 'particulars', params: { id: id } }) } |
对应路由配置: 注意这里不能使用:/id来传递参数了,因为组件中,已经使用params来携带参数了。
|
1 2 3 4 5 |
{ path: '/particulars', name: 'particulars', component: particulars } |
子组件中: 这样来获取参数
|
1 |
this.$route.params.id |
第三种方法 使用path来匹配路由,然后通过query来传递参数 这种情况下 query传递的参数会显示在url后面?id=?
|
1 2 3 4 5 6 7 8 9 |
methods:{ insurance(id) { this.$router.push({ path: '/particulars', query: { id: id } }) } |
对应路由配置:
|
1 2 3 4 5 |
{ path: '/particulars', name: 'particulars', component: particulars } |
对应子组件: 这样来获取参数
|
1 |
this.$route.query.id |
特别注意哦, 组件中 获取参数的时候是router 这很重要~~~ 作者:w夏了夏天 链接:https://www.jianshu.com/p/d276dcde6656 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
View Detailsjs 的forEach不支持continue解决
break—-用return false; continue --用return true; 代码如下: Object.keys(flatMenuData).forEach((key) => { if (item.routeName === this.$route.name && !rs.activeItem) { //如果开启了首页不展示左侧菜单,则屏蔽左侧菜单 if(this.inner_sideMenu.opt.notActiveIndex){ if(this.$route.name ==’index'){ return true } } } } ———————————————— 版权声明:本文为CSDN博主「CarryBest」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/carrybest/article/details/89000582
View Detailsweb config 处理跨域请求
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> <add name="Access-Control-Allow-Headers" value="x-requested-with"/> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer> from:https://www.cnblogs.com/soonqian/p/6548118.html
View Detailsasp.net允许跨域配置web.config
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<configuration> <system.webServer> <modules> <add name="CultureAwareHttpModule" type="Web_SJWD.Lang.CultureAwareHttpModule" /> </modules> <validation validateIntegratedModeConfiguration="false" /> <!---加下面这段可以跨域---> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> |
from:https://www.cnblogs.com/q149072205/p/11089954.html
View DetailsLinux下部分删除history记录
Linux环境: CentOS Linux release 7.3.1611 (Core) 目的: 保护操作隐私。。 首先看history命令详细情况: 一般我们已知的是history -c 命令,即清除所有历史记录 但是如果服务器用的是公司的,就不好执行这种粗暴的操作了。。 部分删除操作: 1.vim ~/.bash_history 该文件即为历史记录存储文件,我们随意修改 2.修改后再次 history 查看,发现并没有变化。原因:缓存 执行:history -r 读取历史文件并将其内容添加到历史记录中,即重置文件里的内容到内存中,完成修改! from:https://blog.csdn.net/abysscarry/article/details/79700293
View DetailsGit-查看远程分支、本地分支、创建分支
1.查看本地分支
|
1 2 3 |
$ git branch * br-2.1.2.2 master |
2.查看远程分支
|
1 2 3 4 5 |
$ git branch -r origin/HEAD -> origin/master origin/feature/IOS_visualtrack origin/feature/android_visualtrack origin/master |
3.查看所有分支
|
1 2 3 4 5 6 7 8 |
$ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/br-2.1.2.1 remotes/origin/br-2.1.2.2 remotes/origin/br-2.1.3 remotes/origin/master |
4.切换远程分支
|
1 2 3 4 5 6 7 8 9 |
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/Release remotes/origin/master $ git checkout -b myRelease origin/Release Branch myRelease set up to track remote branch Release from origin. Switched to a new branch 'myRelease' |
PS:作用是checkout远程的Release分支,在本地起名为myRelease分支,并切换到本地的myRelase分支 5.合并分支 合并前要先切回要并入的分支 以下表示要把issue1234分支合并入master分支
|
1 2 3 4 5 |
$: git checkout master $: git merge issue1234 Merge made by recursive. README | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) |
6.撤消上一次commit的内容(该操作会彻底回退到某个版本,本地的源码也会变为上一个版本的内容) git reset --hard <commit-id> 以下表示要撤消“update build gradle configuration file”这一次的commit id,返回到"add battery settings ui"这一次的commit id,
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...)) $ git log commit c8303a9e8db2bcf4edb7488e722a380f4e8858ec (HEAD) Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:28:51 2017 +0800 update build gradle configuration file Change-Id: I9ee532fd0d4698613698a64eb754fb98a8559e32 commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:02:01 2017 +0800 add battery settigns ui Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...)) $ git reset --hard 8d8e5ccf24cf6836ab780aa3860270c3876e825a HEAD is now at 8d8e5cc add battery settigns ui xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((8d8e5cc...)) $ git log commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a (HEAD) Author: xp.chen <xp.chen@yuneec.com> Date: Sat Oct 28 09:02:01 2017 +0800 add battery settigns ui Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e |
7. git commit -m 注释换行 git commit -m 注释可以通过单引号来换行,比如:
|
1 2 3 4 5 6 7 |
$ git commit -m ' > 1.aaaaa > 2.bbbb > ' [master b25154b] 1.aaaaa 2.bbbb 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ss.txt |
通过git commit --amend 命令可以查看到刚刚的log信息为
|
1 2 |
1.aaaaa 2.bbbb |
from:https://www.cnblogs.com/yongdaimi/p/7600052.html
View Details