IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql启动失败 (code=exited status=1/FAILURE)异常; Can‘t create/write to file ‘/tmp/xxx‘ -> 正文阅读

[大数据]mysql启动失败 (code=exited status=1/FAILURE)异常; Can‘t create/write to file ‘/tmp/xxx‘

一、问题原因

问题开始是因为我不小心删除了根目录下的/tmp目录(因为前一段时间被服务器攻击,看到可疑文件就删了。。。)
删除之后数据库就开始报错 如下:

org.springframework.dao.DataAccessResourceFailureException:
### Error querying database.  Cause: java.sql.SQLException: Can't create/write to file '/tmp/xxxxx' (OS errno 2 - No such file or directory)
### The error may exist in class path resource [com/abc/wys/mapper/NameMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select   name from ......

二、正确解决办法


数据库查询可能需要在这个目录创建临时文件,现在目录不存在了,导致查询失败,正确的做法是,把文件夹新建回来 修改一下文件夹权限:

cd /
sudo mkdir tmp
chomd 777 tmp/

三、二次错误记录


当时我想的是重启一下mysql服务看看会不会好,结果用的还是kill命令( 各位千万不用用kill命令结束mysql服务,可能会丢数据、mysql服务异常等
要用: sudo service mysql stop 或者 sudo service mysql restart 直接重启
当kill掉mysql服务后
输入命令启动mysql服务

sudo service mysql start

提示启动失败

Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Tue 2022-01-11 19:56:27 CST; 5s ago
   Process: 2495816 ExecStartPre=/usr/xxx/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)

三、继续解决mysql启动问题

问公司大佬,给出的解决方案是查询/var/log下的两个文件(/var/log/syslog和/var/log/mysql/error.log)需要切换到root用户查看(su root 后 输入密码)

su root
tail -f /var/log/syslog
tail -f /var/log/mysql/error.log

然后再启动mysql服务看这里的日志,结果没有找到有用的信息。

然后从网上搜素到了一个需要执行以下初始化(mysqld --initialize)前面需要加sudo 要不没有权限操作。

sudo mysqld --initialize
#提示:
mysqld: Can't get stat of '/tmp' (OS errno 2 - No such file or directory)

五、问题最终解决


又提示没有文件,我这个时候才新建tmp文件

cd /
sudo mkdir tmp
chomd 777 tmp/

然后执行sudo mysqld --initialize没有报错,然后执行sudo service mysql start没有报错
查询mysql服务 显示已有进程。

name@127:/$ sudo mysqld --initialize
name@127:/$ sudo service mysql start
name@127:/$ ps -ef |grep "mysql"
mysql    2496371       1 82 20:19 ?        00:00:21 /usr/sbin/mysqld

终于启动成功。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:06:49  更:2022-06-08 19:09:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:18:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码