报错"/>
Linux 中 MySQL 的 报错
1、在 Linux 中 MySQL 的 报错:
1.1 报 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1、Linux错误信息:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
错误1045(28000):对用户“root”@本地主机拒绝访问(使用密码:是)
2、解决方法:
关闭
mysql
服务
在
mysql
安装的目录中找到 myf 文件在文件末尾添加上skip-grant-tables
用来跳过密码验证。
文件目录(注:在 Linux 的远程软件中比较好找到该文件)。
文件末尾添加内容:
skip-grant-tables
添加完内容后,输入:
service mysql restart
重启 MySQL;
进行
mysql
免密登录,(注:看图操作)。
输入:
flush privileges;
进行权限更新。
修改新密码(报异常)
set password = password('密码');
注:解决如下 ↓
1.2 报Mysql 1064错误代码:Access denied for user ''@'localhost'错
1、错误信息:
登录
mysql
时使用密码无法登录(免密登录),免密登录后又无法修改密码、在创建数据库时,都报同样的异常。在使用show databses
进行数据库查询时,只能显示test
和information_schema
两个数据库,mysql
和其它数据库都没有显示。
以上操作报的异常都是:由
localhost
和hadoop1
映射到一个为空的用户名,导致的异常信息。2、解决方案
免密登录
mysql
(异常原因,密码无法登录);选择
mysql
数据库,删除user
表中的所谓的空用户名。
关闭
mysql
服务。
service mysql stop
在
mysql
安装的目录中找到 myf 文件在文件末尾添加上skip-grant-tables
用来跳过密码验证。
文件目录(注:在 Linux 的远程软件中比较好找到该文件)。
文件末尾添加内容:
skip-grant-tables
重启
mysql
服务。
service mysql restart
进行
mysql
免密登录,(注:看图操作)。
mysql -u root -p
此时执行
show databases
就能将所有数据库查询出来。
选择
mysql
数据库。
输入:
use mysql
查看
mysql
数据库中的信息,并且可以看到为空的用户名。
select user,host from user;
删除掉
用户名为空
的就能解决以上问题了。删除
为空用户名
。
delete user from user where user='';
删除为空用户后。
退出
mysql
。
退出:
quit
删除
myf
文件中的skip-grant-tables
;再进行重新登录即可,并修改密码!!!
更多推荐
Linux 中 MySQL 的 报错
发布评论