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、解决方法:

  1. 关闭mysql服务

  2. mysql 安装的目录中找到 my.cnf 文件在文件末尾添加上 skip-grant-tables 用来跳过密码验证。

    • 文件目录(注:在 Linux 的远程软件中比较好找到该文件)。

    • 文件末尾添加内容:skip-grant-tables

  3. 添加完内容后,输入: service mysql restart 重启 MySQL;

  4. 进行mysql免密登录,(注:看图操作)。

  5. 输入:flush privileges; 进行权限更新。

  6. 修改新密码(报异常)

    • set password = password('密码');

     注:解决如下 ↓

1.2 报Mysql 1064错误代码:Access denied for user ''@'localhost'错

1、错误信息:

  1. 登录mysql时使用密码无法登录(免密登录),免密登录后又无法修改密码、在创建数据库时,都报同样的异常。在使用show databses进行数据库查询时,只能显示 testinformation_schema两个数据库,mysql和其它数据库都没有显示。

    •  

    •  

  2. 以上操作报的异常都是:由localhosthadoop1映射到一个为空的用户名,导致的异常信息。

2、解决方案

  • 免密登录mysql(异常原因,密码无法登录);

  • 选择mysql数据库,删除user表中的所谓的空用户名。

  1. 关闭mysql服务。

    • service mysql stop

  2. mysql 安装的目录中找到 my.cnf 文件在文件末尾添加上 skip-grant-tables 用来跳过密码验证。

    • 文件目录(注:在 Linux 的远程软件中比较好找到该文件)。

    • 文件末尾添加内容:skip-grant-tables

  3. 重启mysql 服务。

    • service mysql restart

  4. 进行mysql免密登录,(注:看图操作)。

    • mysql -u root -p

  5. 此时执行 show databases 就能将所有数据库查询出来。

  6. 选择mysql数据库。

    • 输入:use mysql

  7. 查看mysql数据库中的信息,并且可以看到为空的用户名。

    • select user,host from user;

    • 删除掉用户名为空的就能解决以上问题了。 

  8. 删除为空用户名

    • delete user from user where user='';

  9. 删除为空用户后。

  10. 退出mysql

    • 退出:quit

  11. 删除my.cnf文件中的skip-grant-tables;再进行重新登录即可,并修改密码!!!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值