问题集锦
Linux系统下mysql数据库忘记密码
解决方案
1:首先停止mysql服务进程
service mysqld stop
2:然后编辑mysql的配置文件my.cnf
vi /etc/my.cnf
3:在[mysqld]标签下添加如下代码:
skip-grant-tables ##忽略mysql权限问题,直接登录
4:保存退出
esc
:wq!
5:重启mysql数据库
service mysqld restart
6:登录mysql数据库
mysql -u root
7:执行如下sql语句,修改密码
use mysql;
update user set password=password("新密码") where user="root";
flush privileges;
8:重启mysql服务
service mysqld restart
9:使用新密码登录
mysql -u root -p
Python中对dict格式的中文方式处理
问题描述
今天在写python代码的时候出现了想要把获取的json数据和其他数据形成新的dict类型的数据的时候,使用print输出一直都是unicode的编码形式。
解决方案
# 获取对象数据
response = urllib2.open(url)
# 格式化获取的json对象数据
res = json.load(response)
# key1 key2分别是我想要获取的json数据中的指定的对象
res_req1 = res[key1]
res_req2 = res[key2]
# 重点来了
# 根据获取的数据形成了新的dict类型数据
res_req = {res_req1:res_req2}
# 主要就是下面这句话,把我们的unicode类型的数据转换成可以识别的中文
res_req = json.dumps(res_req,encoding='utf8',ensure_ascii=False)
# 打印
print res_req
Python 中的中文若在没有处理的时候会识别成 unicode 格式,当我们使用 IDEA 进行编译的时候会直接转码,但是当我们需要用这个数据形成新的数据的时候,编译器就会把这串 unicode 编码识别成字符串直接写入新数据集中。
SSH远程连接出现问题
问题描述
当我们重装了远程服务器的系统后,再次使用 ssh 远程连接出现以下问题:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:9ghEL/GSVFDAiI1Oh0NEIi0LNTZAidpisLIgb0XudFk.
Please contact your system administrator.
Add correct host key in /Users/carol/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/carol/.ssh/known_hosts:17
ECDSA host key for 150.109.41.154 has changed and you have requested strict checking.
Host key verification failed.
解决方案
# Here is the simplest solution
>ssh-keygen -R <host>
# For example
>ssh-keygen -R 192.168.3.10
StringRedisTemplate无法找到
问题描述
使用 stringredistemplate 的时候,启动服务发现提示说这个包一直找不到。
检查后发现redis 已经成功被导入,在实现类中的对象也成功被注入,但是仍然出现问题.
最后在 stact overflow 上找到了解决方法,是因为高版本的 redis 缺少了 jedis 包,所以在 pom 中引入 jedis。
Description:
Field redis in cn.xdl.ovls.user.service.UserServiceImpl required a bean of type 'org.springframework.data.redis.core.StringRedisTemplate' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.data.redis.core.StringRedisTemplate' in your configuration.
解决方案
<!-- redis 缓存 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<!-- <version>1.5.1.RELEASE</version> -->
</dependency>
<!-- jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<!-- <version>2.7.3</version> -->
</dependency>
mysql出现版本冲突
问题描述
linux 系统下 mysql 出现版本冲突
解决方案
- 进入 mysql;
select @@sql_mode;
- 复制出现的那段话;
vi /etc/my.conf
- 添加一个句话:
sql_mode='刚才复制的那段话,不要引号'
- 6.重启 mysql 服务
Python2.7在linux系统上使用import导入module失败
问题描述
Python2.7在linux系统上使用import导入module失败
解决方案
因为我是直接创建的python project项目,所以我把这个配置信息放在我的入口文件中的。
在我的入口文件的头部写上以下代码即可:
import os
import sys
def path_real():
pwd = os.getcwd()
# 当前文件的父路径
father_path = os.path.abspath(os.path.dirname(pwd) + os.path.sep + ".")
sys.path.append(father_path)
def __init__():
path_real()
项目部署出现的数据库版本不匹配
问题描述
SQL 执行错误 #1055 数据库的响应
..; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #17 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'hj_crm.hd.deptname' which is not functionally dependent on colu.......
解决方案
因为功能所需的执行数据库事务中,存在一些特殊函数,比如:group by等,导致查询匹配模式不支持,而mysql5.7.21默认是自动开启模式匹配的
解决方案如下几种:
- 关闭mysql5.7.21的模式匹配(不推荐使用,降低了数据库的安全性)
- 取消特殊函数的模式匹配(推荐使用)
步骤如下:
- 登录到数据库中,执行如下命令:
select @@sql_mode
- 获取命令执行后的结果集,每个版本可能不一样,以下结果为mysql5.7.21的结果:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 复制结果,退出mysql之后,执行如下命令:
vi /etc/my.cnf
- 在标签[mysqld]下,添加如下代码(去掉结果集中的ONLY_FULL_GROUP_BY特殊属性):
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 保存退出,重启mysql服务
esc
:wq!
service mysqld restart
虚拟机安装Linux操作系统常见问题
问题1:开启虚拟机的时候提示如下图片问题
问题描述
解决方案
- 百度自己电脑型号,查看如何快捷键进入的BIOS设置界面
- 重启计算机,重启的过程中,不停的按进入的快捷键
- 进入到BIOS设置界面后,将虚拟服务开启(默认是关闭状态)
- 如果不知道如何开启,可自行百度自己电脑型号如何开启虚拟化服务
问题2:开启虚拟机黑屏
解决方案
- 以管理员身份运行
cmd
- 输入命令:
netsh winsock reset
,回车,提示重置网络服务成功后 - 重启计算机
问题3:XXXXX连接套接字次数过多
解决方案
- “我的电脑”,右键,“管理”,找到虚拟机的服务
- 将虚拟机的服务,都设置为“已启动”
- 重新启动虚拟机即可