【数据库】——MySQL错误1067和1045解决方案

来源:互联网 发布:usbwriter linux 编辑:程序博客网 时间:2024/05/21 07:46

前提

  小编最近的一个项目中需要用到MySQL,对于一个一清二白的小白,MySQL更是第一次接触,从安装开始一步一步学习啊。当然在这个安装过程遇到一些来分享一下,希望可以帮到大家。
PS:本文所有的解决方案都是在window系统下进行的。


错误一 —— 1067Windows服务无法启动wampmysqld服务


这里写图片描述

  对于MySQL不是经常使用的人群,关于MySQL的服务我们可以采用随用随开,避免资源的浪费。开启MySQL的服务有两种方式,一种是在计算机》管理》服务与应用程序》服务》MySQL;另一种是在管理员权限下打开dos窗口中直接输入命令语句,前提是进入了MySQL的安装路径下输入net start mysql 具体步骤win8系统下win+X选中命令指示符(管理员)如图,


这里写图片描述
这里写图片描述

这个时候可能会提示1067错误,关于这个错误,目前自己接触到有两种,一种是my.ini里面的内容存在错误一般把下面的内容完全粘到my.ini就可以了。

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录basedir=E:\mysql_5.6.24_winx64\mysql-5.6.24-winx64# 设置mysql数据库的数据的存放目录datadir=E:\mysql_5.6.24_winx64\mysql-5.6.24-winx64\data# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=InnDB

  另一种就是小编遇到的了一直报错还找不到!只能得到一个1067错误,其余的错误根源根本找不到,这个痛苦可想而知了。后来各种尝试终于找到一个方式能够发现错误的根源也是在计算机》管理》系统工具》事件查看器》管理事件摘要


这里写图片描述

会看到一些警告之类的,我在警告中发现自己的错误根源日志名
描述:
TIMESTAMP with implicit DEFAULT value isdeprecated. Please use –explicit_defaults_for_timestamp server option (seedocumentation for more details).

这里写图片描述

之所以说这个目的就是希望大家以后遇到错误后,可以查找一下详细信息,更方便我们的解决。关于mysql启动服务一个具体错误1067解决方案。
1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM。
2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1
3、找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1,这个文件一般在MySQL安装目录下的data目录中直接删除就OK了。


有些时候好事就是多磨,原本以为解决这个MySQL肯定能正常使用了,可是谁知接着提示错误ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (usingpassword: YES)这个错误属于登陆错误,一般情况密码错误后就会出现这样的错误,还有一种可能就是权限的问题。


错误二——ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (usingpassword: YES)

解决方案
1、 停止MySQL服务,如何停用,一种直接使用dos命令net stop mysql ;使用该方式可能会出现提示一些系统错误,其中有一点非常要注意使用dos直接错误必须为安装的服务,否则同样会出现服务名无效。如何这种方式不行的话,可以使用方法二,类似于问题一的步骤是在计算机》管理》服务与应用程序》服务》MySQL》停止
2、 跳过验证
进入MySQL的安装路径E:\mysql_5.6.24_winx64\mysql-5.6.24-winx64,找到my.ini配置文件(些文件记录MySQL的常规参数,每次启动服务都会先加载此文件),在my.ini配置文件的最后一行加入skip_grant_tables,此语句可以忽略登录检查。
3、启动MySQL服务,进入dos环境,输入mysql -uroot -p登录MySQL(如果安装时没有勾选添加环境变量,需要先使用cd命令进入MySQL安装目录),此时提示输入密码,如果能保证密码没有错误就直接输入正确密码就可以了。如果密码忘掉则需要mysql> USEmysql (将数据库切换至mysql库中)

mysql>UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’          //(修改密码)//password函数为MySQL内部函数,其中newpswd为修改后的新密码。

4、 重启服务
将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。


总结

  在安装MySQL的过程经常会出现一些错误,但是不用害怕,坚信没有什么解决不了,虽然这个东东花费了两天的时间,但是一切都不是白费的。在解决的过程查了好多内容,一直害怕动手去尝试,这个是耽误时间的重要原因,最大的感受遇到问题尝试去做,只看问题是不能被解决的,动手去做的最坏结果无非就是重装系统而已,没有什么好怕的,也没有什么是解决不了的。Just do it !

1 0