windowslinux下安装mysql报1045等错误_MySQL
以前在windows 下安装mysql 没怎么出现过问题,而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误,就个人经历来看这个问题就是 root用户密码的问题,所以将解决的方式总结如下:一、mysql登录报 1045 错误mysqladmin: connect to server at 'localhost' failed 我们看到上面的这个错误就是说 user 为root host为localhost的密码有问题,所以我们就要看看 mysql数据库中user表中user为root,host为localhost的这个用户的密码。 解决办法:破解mysql密码 1、 service mysqld stop // 停止mysql服务 // 在mysql的配置文件如果是linux(centos)则在etc/my.cnf配置文件的mysqld_safe 下天添加skip-grant-tables,如果在windows下则在安装目录下的my.ini 配置文件的mysqld 下添加 skip-grant-tables, skip-grant-tables是跳过授权表,这样配置之后保存 关闭,重新启动mysql服务 // 这样就进来了,这里有两个问题,也是我遇到的两种情况,一种是user表中有user为root的用户,一种是没有,如果有则进行如下处理: (1)、use mysql; // 使用mysql数据库 (2)、 delete from user where host="localhost" and user=" "; // 将host为localhost下的user为空的用户都删了,其实也可以把这里localhost改成 % 免得以后连接的时候连接不了,不过是后话在这里该不该都可以。 (3)、 update user set password=PASSWORD("newpass") where user="root"; (4)、 flush tables; //数据刷到磁盘
//更新权限 (6)、quit //退出 (7)、将配置文件中 skip-grant-tables 注释/删掉 保存 (8)、service mysqld restart // 再次启动服务 mysql -uroot -p新密码回车 ,这样应该可以了 二、 接着上面3、mysql -uroot -p 回车 进入之后use表中没数据,即创建root用户做如下处理:第一种情况,就是user中有root用户但是连接不上是在windows下遇到的,而user中什么都没有是在linux(centos) 下遇到的,具体处理如下: 在linux下安装了mysql之后出现错误,刚开始以为就是第一种这种情况,网上大多也都是这类文章于是就按照这篇文章进行了修改:linux下mysql 初次登陆修改密码 修改之后应该没错,但再次启动服务root登录还是不行,下面的就是出现的问题和解决过程: 1、查询看有没有user 为root的用户,或这说user中有没有用户。
2、插入用户信息到 user表 **为了大家方便这里提供一些说明:第一个值是host,第二个为user这两项是必填项,password("my_password")这里进行密码的设置,MY_PASSWORD 就是新设的密码 ,而'Y'有28个,之后有1个enum和3个blob 可以为空,也就是这里的4个空字符,int类型有4个,默认值为0
3、接着在杀掉所有mysql进程,之后正常重启mysql,即可用root用户登录 到目前个人就遇到的问题总的就这两种,希望对你有用!! |