MySQL 5.7 默认root密码修改 (Ubuntu & CenOS)

缘起

日常工作用的服务器还在用Ubuntu14.04,这不18.04都发布了,于是想赶紧新装一台,折腾好了就迁移过去;装好18.04之后安装MySQL,按照往常方式apt-get安装,结果竟然没有提示录入root密码的地方。直接mysql -uroot -p回车,结果跟想的一样密码错误。

研究

经过研究发现,MySQL5.7较之之前版本在性能和安全性上都有了很大进步,安全性进步的一大体现便是安装时不再让你输入root密码,而是自动生成一个密码;对于不同发行版本的Linux来说,有所差异,Debian系(Ubuntu)是把密码存在了/etc/mysql/debian.cnf文件里,RedHat(CentOS)则是在/var/log/mysqld.log文件里(用关键词 temporary passowrd)

更改默认密码

找到默认密码之后,在shell下直接用默认密码登陆,对于Ub …

继续阅读 »

Oracle 11g 用户名和默认密码

  最近安装的Oracle提示密码过期,在plsql中修改了之后,忘了在Java程序里修改,结果就没发访问了;由于程序在不断尝试连接数据库,结果很快失败尝试次数达到了锁定的上限——10次,于是只能想办法修改Oracle相关设置了。基本思路如下:
1. 找到默认管理员账户和密码进去操作
参考这篇文章,在Oracle安装的Windows Server机器上,打开sqlplus,用system/manager来登录
2. 修改过期的账户设置
参考这篇文章进行配置,具体SQL代码如下:

SELECT username,PROFILE FROM dba_users;-- 查看用户的proifle是哪个,一般是default
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASS …

继续阅读 »

X220 甘大方案改13.3屏幕机器 1.43 改版BIOS(去掉白名单、屏蔽LVDS)下载

  前段时间闲鱼上入了一台由X220改13.3屏幕的X320机器(甘大a.gain方案),看着改版BIOS能够破解内存支持(最高支持到1866),开启隐藏的Advanced菜单,心痒痒就手贱直接升级了1.43版的改版BIOS,结果进系统默认分辨率只有1333*768,而且没办法向上调节,简单的说就是灰蒙蒙的一片。

  赶紧去QQ里找改版BIOS,群里只提供了如何Path的方法和屏蔽LVDS的文件,没有提供现成的bios,于是开始研究,用PhoenixTool解包BIOS,替换0AFCDD7A-345E-415E-926D-C5971B580400_2360.ROM这个文件,然后再打包,最后刷机升级bios,一切搞定。

  1. 附成品bios下载:
    最终成品BIOS
    屏蔽LVDS、开启高级菜单、支持高频内存、去掉白名单
  2. 其他相关工具:
    PhoenixTool
    解包、打包工具
    X220 v1.4 …

继续阅读 »

Python3 写入csv文件每行数据后都多一空行 问题解决

Python3处理好的数据导出csv文件,需要做到以下两点才能正确处理:
1. 以w模式而不是wb模式打开
2. 加上newline=”

正确代码如下:

# 导出csv文件代码片段:
with open('mails.csv', 'w', newline='') as csvfile:
wresource = csv.writer(csvfile, dialect='excel')
wresource.writerow(['发件时间', '发件人', '邮件主题'])
wresource.writerows(rs)

原因分析:
newline=” suppresses text mode newline handling. On Windows, failing to do this will write \r\r\n file line endings …

继续阅读 »

Python 正则表达式处理 邮件收件人信息

直接上代码

>>> import re
>>> email = '"=?gb2312?B?wfsD98D7?=" <abc@qq.com>'
# 匹配‘<’开头‘>’结尾的字符串,也就是需要的邮件地址
>>> r1 = r'<(.+?)>'
>>> email1 = re.search(r1,email)
>>> print(email1)
<_sre.SRE_Match object; span=(24, 36), match='<abc@qq.com>'>
>>> print(email1.group())
<abc@qq.com>
# group(0)等同于group(),不填写参数默认返回group(0 …

继续阅读 »

Python 列表(list)&元组(tuple)切片索引

Python中的元组&索引切片操作时概念与PHP之类的概念不太一致:

>>>list1 = ['1','2','3','4','5']
>>>list1[0:3]
#从索引是0的元素开始截取,直到索引为3停止,但**不包括**索引3。
['1','2','3']

配置PyCharm使用系统默认的Python环境

  在PyCharm下不能直接使用pip install的包,查了一下原来PyCharm自带了一套的Python环境,包括pip包系统,需要在项目配置里设置一下Python的路径,选择系统默认安装Python即可,具体:
  打开PyCharm,依次点选File->Settings->Project Interpreter->设置为你的Python路径 即可。

Python 3.6 模块安装错误 “error: Microsoft Visual C++ 14.0 is required…”问题解决

在pip install 安装词云时遇到错误:error: Microsoft Visual C++ 14.0 is required.按照以下方案解决:
1. 下载whl文件
访问http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud,
下载wordcloud-1.4.1-cp36-cp36m-win_amd64.whl到本地,选对Python版本和体系结构(32位还是64位)
2. 进到下载目录,按住shift点鼠标右键,进入CMD,运行命令安装即可

pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl

Python3 函数返回值True/False

学习笔记,记录一下:
首先Python的True 或者False是区分大小写的;进一步讲Python是大小写敏感的
其次类似于PHP的的写法,Python对于if条件判断也有很简洁的写法:

return True if a > b else False
#更简洁
return [False,True][a > b]
#对比PHP,采用三元运算符
return a>b?True:False

Python 将两个长度相同的list合并为一一对应的字典dict

  1. 先准备俩长度相同的list

list1 = ['身高','体重','凶围']
list2 = ['170cm','55kg','34D']

  1. 用zip()函数把俩list中的元素形成一个个元组

list3 = zip(list1,list2)
[('身高','170cm'),('体重','55kg'),('凶围','34D')]

  1. 形成字典dict

dict( (name,value) for name,value in list3)

  1. 参考
    1 2