问题集锦

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 出现版本冲突

解决方案

  1. 进入 mysql;
  2. select @@sql_mode;
  3. 复制出现的那段话;
  4. vi /etc/my.conf
  5. 添加一个句话:sql_mode='刚才复制的那段话,不要引号'
  6. 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的模式匹配(不推荐使用,降低了数据库的安全性)
  • 取消特殊函数的模式匹配(推荐使用)

步骤如下:

  1. 登录到数据库中,执行如下命令:select @@sql_mode
  2. 获取命令执行后的结果集,每个版本可能不一样,以下结果为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

AnF5Pk9

  1. 复制结果,退出mysql之后,执行如下命令:vi /etc/my.cnf
  2. 在标签[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
  1. 保存退出,重启mysql服务
esc
:wq!
service mysqld restart

cdPwbCf

虚拟机安装Linux操作系统常见问题

问题1:开启虚拟机的时候提示如下图片问题

问题描述

J8n9Dcj

解决方案

  1. 百度自己电脑型号,查看如何快捷键进入的BIOS设置界面
  2. 重启计算机,重启的过程中,不停的按进入的快捷键
  3. 进入到BIOS设置界面后,将虚拟服务开启(默认是关闭状态)
  4. 如果不知道如何开启,可自行百度自己电脑型号如何开启虚拟化服务

问题2:开启虚拟机黑屏

解决方案

  1. 以管理员身份运行cmd
  2. 输入命令:netsh winsock reset,回车,提示重置网络服务成功后
  3. 重启计算机

问题3:XXXXX连接套接字次数过多

解决方案

  1. “我的电脑”,右键,“管理”,找到虚拟机的服务
  2. 将虚拟机的服务,都设置为“已启动”
  3. 重新启动虚拟机即可

GCSZ3dh