MySQL密码正确却无法本地登录的解决方法
MySQL root密码正确,却怎么也无法从本地登录MySQL,提示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这里后来经高人指点才发现mysql库中的user表缺少一个root指向host:localhost的数据项,只有一个root指向host:主机名的数据项,故怎么也无法利用root账户登录MySQL。
总结一点就是root账户缺失了访问localhost主机的账户信息,导致无法本地登录。
模拟测试如下:
那有什么办法恢复root登录呢?
这里记录一下今天遇到的纠结事情:
首先kill掉MySQL进程然后在启动mysql的参数中加入
--skip-grant-tables
会发现这时无密码就可以登录mysql了。
当然我们还必须修复root账户丢失的数据项。
这里有两种解决方案:
第一种是因为root账户初始的时候有3条记录,包含root对应localhost,hostname,127.0.0.1三条账户数据,我们可以update host为其他两项中一项为localhost即可。
第二种是直接insert一条记录,host为localhost即可
总结一下:即使root的host包含了主机名,127.0.0.1那么依然是无法正常登录的,这里必须要有localhost的host才行。
相关推荐
-
关于MYSQL 远程登录的授权方法 命令
方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%" #mysql -u root -proot mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
-
php+MySQL实现登录时验证登录名和密码是否正确
直入主题,先看php校验登录名和密码是否正确的代码: <?php $servername = "服务器名"; $username = "账户名"; $password = "密码"; $dbname = "数据库名"; ?> <?php // Session需要先启动. session_start(); //判断uname和pwd是否赋值 if(isset($_POST['uname']) &&
-
mysql登录报错提示:ERROR 1045 (28000)的解决方法
本文分析了mysql登录报错提示:ERROR 1045 (28000)的解决方法.分享给大家供大家参考,具体如下: 一.问题: 公司linux系统的mysql数据库root用户设置过密码,但常常用命令'mysql -u root -p'登录报错,有时又能登录.登录报错信息为: [root@localhost ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localho
-
linux下讲解MySQL安装与登录方法
Fedora5下配置MySQL (很有参考价值的 MySQL资料 包括如何在linux文件系统移动MySQL数据库的位置) 一.下载MySQL安装文件 完全安装MySQL需要下面6个文件: MySQL-server-community-5.1.26-0.rhel4.i386.rpm MySQL-client-community-5.1.26-0.rhel4.i386.rpm MySQL-shared-community-5.1.26-0.rhel4.i386.rpm MySQL-devel-co
-
php+mysql实现简单登录注册修改密码网页
对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页. 其中,如下 1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配: 2.注册-即为对数据库中的内容进行插入,注册帐号与密码: 3.修改密码-即为对数据库中的内容进行修改. 这三个操作,我用了8个php和html文本来建立 具体见代码部分 1.登录的主界面index.html: <p> </p>
-
mysql登录遇到ERROR 1045问题解决方法
在Windows系统中,mysql登录的时候出现了这样的错误:ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES) 从网上找了一些办法,终于得到了解决,现在记录一下具体的解决方法: 复制代码 代码如下: c:\>sc stop mysql c:\>mysqld --defaults-file="C:\MySQL\MySQLServer6.0\my.ini" --console -
-
mysql登录警告问题的解决方法
一.前言 我们在登录mysql的时候经常会看到一句警告: Warning: Using a password on the command line interface can be insecure. 这让人看着很不舒服,并且当在写脚本的时候这个警告输出到屏幕上更让人感觉难受. 二.解决办法 这个警告是mysql自带的,他是想告诉你在屏幕上直接输入mysql密码并显示是不安全的. 1.解决办法一(看一下就行没有任何用) 这个解决办法相对简单,在你登录mysql的时候-p后面不紧跟任何字符串.
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
通过phpmyadmin连接mysql数据库时提示:"2003 无法登录 MySQL服务器"...很明显这是没有启动mysql服务,右击我的电脑-管理-找到服务,找到mysql启动一下,,是不是启动有报错: "无法启动mysql服务 错误1067:进程意外中止 " 然后就baidu google吧,多是说禁远程连接,要改my.ini文件,也有说防火墙的,总之对症下药. 不过同样的报错,导致它的原因并不是都是同样的.这就是看自己的经验和对问题的钻研了,好了不多 说了,
-
MySql登录时闪退的快速解决办法
之前mysql用着好着,可是今天在启动mysql后输入密码出现了闪退,在任务管理器中发现mysql服务没有启动,当手动启动时提示拒绝访问.在网上查找原因发现问题所在. 问题原因:mysql服务没有安装. 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 输入mysql -u root登录mysql
-
解决 phpmyadmin #2002 无法登录 MySQL 服务器
解决 .#2002 无法登录 MySQL 服务器 将config.sample.inc.php复制成config.inc.php 出现这个错误,表示没有连接到数据库.修改config.inc.php文件, 复制代码 代码如下: 将$cfg['Servers'][$i]['host'] = 'localhost'; 改为$cfg['Servers'][$i]['host'] = '127.0.0.1'; 或者 修改 php.ini : mysql.default_socket = /tmp/mys
随机推荐
- App内切换语言详解
- php最简单的删除目录与文件实现方法
- 大家未必知道的Js技巧收藏
- Python运算符重载用法实例分析
- jsp action中保存和修改的关系
- Android按钮按下的时候改变颜色实现方法
- mysql 数据库死锁原因及解决办法
- JavaScript将字符串转换成字符编码列表的方法
- 较为全面的Asp.net提交验证方案分析 (上)
- 浅析SQL Server中的执行计划缓存(上)
- Oracle 存储过程发送邮件实例学习
- jQuery制作圣诞主题页面 更像是爱情影集
- jquery slibings选取同级其他元素的实现代码
- jquery+css实现绚丽的横向二级下拉菜单-附源码下载
- C#如何防止程序多次运行的技巧
- Java中内存分配的几种方法
- Android仿新浪微博自定义ListView下拉刷新(4)
- 简单的启动窗体
- C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法
- Java版超大整数阶乘算法代码详解-10,0000级