mysql更改了数据库存储路径后,出现错误1067 进程意外终止

以前机子上装了64位的mysql,后卸载后清除了注册表,安装了32位的mysql。
默认的数据库存储路径是C:\ProgramData\MySQL\MySQL Server 5.5\data,
我在my.ini 中修改为datadir="D:/mysql_data/"


然后重新启动数据库服务就出现如下错误:

“windows 无法启动 mysql服务 错误1067 进程意外终止”


网上解决方法一坨一坨的,还有这种大全。。。http://blog.sina.com.cn/s/blog_4b75bfbb01008r0w.html 

我想说,“虽然哥的方法多 不要盲目相信哥 ”  ,别如。。。


1. 这篇文中第一个解决方法“c:\mysql\bin\mysqladmin-u root -p shutdown”,

我在今天重装后,也更改了密码,我开始也以为用这个方法能解决。但是发现使用了这个语句后,从mysql conmmand line client可以不输入密码就直接打开,感觉着货的存在很灵异。 然后我查了我的3306端口号是否被占用(命令: netstat -ano | findstr "3306"),居然被占用了,pid是6916。然后我在任务管理器里面找pid为6916的服务,找不到。然后我查找该pid的映射名 (tasklist/FI "PID eq 6916"), 结果对应的映射名是 mysqld.exe, 使用上述的命令没关掉,再进任务管理器里杀掉该进程。依旧不能启动。

以上仅提供了端口号被占用 强制关闭mysql方法。。。


2. 我把navicat卸载,也从注册表里删干净了(这在关不掉mysql时候,以为跟相关的软件有关)


3. 我也尝试了修改default-storage-engine=MyISAM,网上各种方法,感觉没有适合自己的一款。。


然后,我万念俱灰得重装了mysql。

        a. 如果你决定重装mysql,一定要删除干净!否则可能像我一样,装了十几遍。。。

删除原来装的卸载后的剩余文件及其目录;删除存储数据库文件的路径,可先转移;在C盘搜索mysql,能删了都删了;删除注册表

在注册表里(regedit)清除你的MYSQL服务。有几个地方:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除;
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除;

        b. 配置时,切记不要修改密码,modify security settings 那个勾去掉

c. 安装好了后,可参考http://blog.csdn.net/someonelikesyou/article/details/10794025 进行重设密码。

如果可以通过command line 不输入密码直接回车 进入mysql,那就直接改密码,从use mysql , update ....开始即可。


==================以下是我真正的问题和解决方法===============================  

4. 重装后,更改了datadir后 还是报错。

我手动建立了这个datadir路径:D:/mysql_data/,

再尝试启动服务,这个路径下就会有报错的信息了。

打开**-PC.err

然后出现如下错误:


D:\Program Files (x86)\MySQL\MySQL Server 5.5\bin\mysqld: Table 'mysql.plugin' doesn't exist
131223 16:19:47 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
131223 16:19:47 InnoDB: The InnoDB memory heap is disabled
131223 16:19:47 InnoDB: Mutexes and rw_locks use Windows interlocked functions
131223 16:19:47 InnoDB: Compressed tables use zlib 1.2.3
131223 16:19:47 InnoDB: Initializing buffer pool, size = 1002.0M
131223 16:19:47 InnoDB: Completed initialization of buffer pool
131223 16:19:47 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 49439
131223 16:19:47  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 1595675
131223 16:19:48  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
131223 16:19:49  InnoDB: Waiting for the background threads to start
131223 16:19:50 InnoDB: 1.1.8 started; log sequence number 1595675

131223 16:19:50 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

mysql服务启动时候找不到内置数据库“mysql”,找不到那张表,就包了上述错误。 

解决办法:将安装目录或之前的目录里面的“mysql”数据库拷贝到新的数据库文件存放目录即可

即C:\ProgramData\MySQL\MySQL Server 5.5\data\或者D:\Program Files (x86)\MySQL\MySQL Server 5.5\data 目录下的mysql文件夹拷入D:/mysql_data/ ,

再重新启动服务,终于不报错了!

普大奔喜 泪流满面~~~~~



小总结下:

1. 不要盲目的看错误的号码查解决方法,去看日志

2. 菜鸟也有春天!




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值