在Mysql运行的时候,有时候会stop不了,这时候我们就会想直接把他的进程kill掉。

但是,有时候kill完了之后,在去start它就会直接抛异常了。。。

ERROR! The server quit without updating PID file /usr/local/mysql/mysql5/data/VM_0_9_centos.pid

看到这个异常,别慌,我们先把Mysql下面自己的数据库的文件夹备份出来,以及mysql的系统库mysql里面的文件也备份出来,

还有data目录下的ibdata1、 ib_logfile0和ib_logfile1文件也要备份一下(这里是表结构以及数据的东西),

接着,我们把mysql的data目录(也就是存放数据库文件的目录)删掉,然后进行mysql的初始化

./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

初始化完了之后,再把权限给回去

cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

这时候,我们启动mysql的话,就会发现,没有密码怎么进去哦。。。。

然后,我们来修改一下mysql的密码吧

编辑my.cnf允许空密码登录

[root@7Core ~]# vi /etc/my.cnf
#在[mysqld]下加入一行
skip-grant-tables=1

重新启动Mysql服务

[root@7Core ~]# systemctl restart mysqld.service

使用Root登录数据库、使用mysql数据库、修改root密码、退出数据库

[root@7Core ~]# mysql -u root
mysql> use mysql;
mysql> update user set authentication_string = password('新密码'),password_last_changed=now() where user='root';
mysql> exit;

再次打开my.cnf,将skip-grant-tables=1删掉,保存退出

[root@7Core ~]# vi /etc/my.cnf
#删除skip-grant-tables=1

重启Mysql服务

[root@7Core ~]# systemctl restart mysqld.service

这时候我们就可以用账号密码登入了,但是第一次登入的时候,需要去修改一下密码,不然不会让你进行其他操作的

mysql -uroot -p
-- 输入密码登入
-- 然后修改密码
alter user 'root'@'localhost' identified by '新密码';

这时候远程登入数据库应该是会报1130错误的,我们需要修改一下host

use mysql;
update user set host = '%' where user ='root';

这时候就可以去恢复一下数据库的文件了

把你备份的data目录下面要恢复的数据库名对应的文件夹复制到新的datadir目录下面去,数据库的表就恢复了。、

但是这时候,存储过程和函数还是没有的,需要将备份的mysql系统数据库下面的名字叫proc的.frm和.MYD还有.MYI文件复制到datadir文件夹下面去,覆盖掉现有的文件,

此时,表结构和存储过程都已经恢复了,但是打开mysql的表还是会提示表不存在,这时候,我们在把之前备份的data文件夹里面的

ibdata1、 ib_logfile0和ib_logfile1文件复制替换到现有数据库中,

这样就恢复成功了。

如果以上内容对你有帮助,可以点个推荐哦,谢谢

记一次Mysql数据库Kill完之后启动不起来的解决方案的更多相关文章

  1. 记一次mysql数据库被勒索(下)

    背景: nextcloud的mysql数据库被黑,删库勒索.参考:记一次mysql数据库被勒索(上) mysql数据库恢复成功,nextcloud还是无法连接.参考:记一次mysql数据库被勒索(中) ...

  2. MySql数据库导出完整版(导出数据库,导出表,导出数据库结构)

    MySql数据库导出完整版(导出数据库,导出表,导出数据库结构) 用MySqlCE导出数据库脚本时,如数据库中包含中文内容,则导出异常. 现在可以通过mysqldump.exe直接导出数据库脚本步骤如 ...

  3. 记一次mysql数据库被勒索(中)

    背景在上一篇文章里面已经提过了. 现在面临的问题是nextcloud没有mysql数据库,用不起来了. 因为文件没丢,一种方法是启动新的mysql数据库,把文件重新提交一次. 为了程序员的面子,没有选 ...

  4. 初码-Azure系列-记一次MySQL数据库向Azure的迁移

    初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...

  5. 记一次mysql数据库失而复得过程

    背景: 由于是自己买的vps搭建的博客,用的是军哥的一键lnmp源码编译安装的,文章也就几篇,对备份并不太重视,想着等服务器快到期的时候备份一下不就行了. 后来在该服务器上测试lnmp分别编译编译安装 ...

  6. 记一次mysql数据库被勒索(上)

    家里搞了台旧电脑做NAS,安装了nextcloud,选择了mysql做为数据库. 当时也没有想太多,mysql数据库密码随便设置了个123456,用的一切正常. 然后,听说可以找电信申请换个公网IP的 ...

  7. MySQL数据库导入或者同步大量数据时数据丢失解决方案

    相信大家都经常遇到这样的情况,我们在编码的过程中经常需要在调试代码的时候切换到本地的数据库上做修改调试,如果当测试数据库的数据在几十万或者上百万数据的时候,我们无论是通过恢复备份/导入SQL的方式来把 ...

  8. 解决win10安装MySQL数据库出现服务无法启动的问题

    安装mysql的时候一直出现这个问题,在网上找了很多种方法,终于解决了这个问题. 我在官网下载的安装包解压后没有my.ini文件,需要自己添加(红字不要复制) [mysql]# 设置mysql客户端默 ...

  9. 记一次MySQL数据库拒绝访问的解决过程

    问题背景 用wordpress搭博客,数据库采用MySQL.为了调试方便,创建账户my_account ,允许它从任意主机访问数据库. CREATE USER `my_account`@'%' IDE ...

随机推荐

  1. CodeForces 29D Ant on the Tree

    洛谷题目页面传送门 & CodeForces题目页面传送门 题意见洛谷里的翻译. 这题有\(\bm3\)种解法,但只有一种是正解(这不是废话嘛). 方法\(\bm1\):最近公共祖先LCA(正 ...

  2. CodeForces 1129C Morse Code

    洛谷题目页面传送门 & CodeForces题目页面传送门 题意见洛谷里的翻译. 首先我们可以用区间DP算出对于每个子01串,能表示的字母串的个数. 设\(dp_{i,j}\)表示长度为\(i ...

  3. win10文件备份、文件同步方案

    用个人版onedrive同步重要数据,数据安全有保障,但免费版只有15G空间,需要合理分配.(201907与别人合租家庭版,空间1T充足) google-drive可以同步指定的文件夹,但空间也只有1 ...

  4. Java网络编程 -- BIO 阻塞式网络编程

    阻塞IO的含义 阻塞(blocking)IO :阻塞是指结果返回之前,线程会被挂起,函数只有在得到结果之后(或超时)才会返回 非阻塞(non-blocking)IO :非阻塞和阻塞的概念相对应,指在不 ...

  5. js 设计模式&&query

    1. 语法: try{           //需要执行的代码      }catch(e){           //错误处理 e程序遇到错误时的报错信息      } 2.惰性函数: 函数在第一次 ...

  6. n的阶乘尾数有几个0

    /* n!尾数有几个0 */ #include <iostream> using namespace std; void find0(int n); int find(int i,int ...

  7. 持续集成高级篇之Jekins参数化构建(二)

    系列目录 上一节我们讲解了如何使用bat脚本或者powershell脚本自身的机制来达到参数化构建的目的,这在一定程序上增加了灵活性,然而缺点也相当明显:它只能适应一些相对比较固定的参数传入(比如像上 ...

  8. Leetcode之深度优先搜索(DFS)专题-515. 在每个树行中找最大值(Find Largest Value in Each Tree Row)

    Leetcode之深度优先搜索(DFS)专题-515. 在每个树行中找最大值(Find Largest Value in Each Tree Row) 深度优先搜索的解题详细介绍,点击 您需要在二叉树 ...

  9. Mysql系列 - 第3天:管理员必备技能(必须掌握)

    这是mysql系列第3篇文章. 环境:mysql5.7.25,cmd命令中进行演示. 在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有 ...

  10. JavaScript 数据结构与算法之美 - 桶排序、计数排序、基数排序

    1. 前言 算法为王. 想学好前端,先练好内功,只有内功深厚者,前端之路才会走得更远. 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 JavaScript ,旨在入门数据结构与算 ...