在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. 基于 WPF 模块化架构下的本地化设计实践

    背景描述 最近接到一个需求,就是要求我们的 WPF 客户端具备本地化功能,实现中英文多语言界面.刚开始接到这个需求,其实我内心是拒绝的的,但是没办法,需求是永无止境的.所以只能想办法解决这个问题. 首 ...

  2. mysql的引擎问题,主键和外键的创建问题,以及创建外键不成功,却创建了一个索引

    mysql的引擎问题: 需要知道的三个引擎:InnoDB--是一个事务处理引擎,不支持全文检索,支持事务操作,即DML操作: Memory--是一个数据存储在内存,速度很快,功能上等同于MyIsam, ...

  3. 通俗易懂--循环神经网络(RNN)的网络结构!(TensorFlow实现)

    1. 什么是RNN 循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环 ...

  4. Spring Boot Security Oauth2之客户端模式及密码模式实现

    Spring Boot Security Oauth2之客户端模式及密码模式实现 示例主要内容 1.多认证模式(密码模式.客户端模式) 2.token存到redis支持 3.资源保护 4.密码模式用户 ...

  5. java学习笔记(中级篇)—JDK动态代理

    一.什么是代理模式 相信大家都知道代理商这个概念,在商业中,代理商无处不在.假设你要去买东西,你不可能去找真正的厂家去买,也不可能直接跟厂家提出需求,代理商就是这中间的一桥梁,连接买家和厂商.你要买或 ...

  6. 8.15 day33 进程池与线程池_协程_IO模型(了解)

    进程池和线程池 开进程开线程都需要消耗资源,只不过两者比较的情况线程消耗的资源比较少 在计算机能够承受范围之内最大限度的利用计算机 什么是池? ​ 在保证计算机硬件安全的情况下最大限度地利用计算机 ​ ...

  7. Mysql优化(出自官方文档) - 第八篇(索引优化系列)

    目录 Mysql优化(出自官方文档) - 第八篇(索引优化系列) Optimization and Indexes 1 Foreign Key Optimization 2 Column Indexe ...

  8. U盘制作启动盘后空间容量变小解决方法

    WinAll的快速恢复方式: 0.windows键+R(调出运行窗口)输入:diskpart回车(调出磁盘管理器) 1.输入:list disk回车(从大小容量确定目标U盘的盘符X) 2.输入:sel ...

  9. spark读取pg数据库报错操作符不存在

    代码: Properties connectionProperties = new Properties(); connectionProperties.put("user", C ...

  10. Spring源码剖析9:Spring事务源码剖析

    转自:http://www.linkedkeeper.com/detail/blog.action?bid=1045 声明式事务使用 Spring事务是我们日常工作中经常使用的一项技术,Spring提 ...