描述

使用到是阿里云服务器,系统为cent Os,给某个账户授权之后,root的账户就登录不进去了,原本root账户设置好了远程连接的权限了,网上搜索了一大堆,终于自己摸索得到了几个方法

产生原因

  • root账户不能远程连接
  • mysql中存在空账户
  • root账户密码错误(可能是密码输错,因为linux输入密码什么都不显示..)

解决方法

以下的三种方法,其实都是要进入mysql的安全模式中,对默认的user表进行修改

设置root账户为远程

#1.停止mysql数据库
service mysql stop #2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #3.使用root登录mysql数据库
mysql -u root mysql 4.修改root账户可以远程连接
mysql> update user set host='%' where user='root' and host='localhost'; # mysql5.7MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; #5.刷新权限(必须,防止mysql的缓存影响)
mysql> FLUSH PRIVILEGES; #6.退出mysql
mysql> quit #7.重启mysql
service mysql restart #8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>

删除空账户

#1.停止mysql数据库
service mysql stop #2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #3.使用root登录mysql数据库
mysql -u root mysql 4.删除空用户
mysql> mysql> delete from user where user=''; # mysql5.7MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; #5.刷新权限(必须,防止mysql的缓存影响)
mysql> FLUSH PRIVILEGES; #6.退出mysql
mysql> quit #7.重启mysql
service mysql restart #8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>

修改密码

#1.停止mysql数据库
service mysql stop #2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #3.使用root登录mysql数据库
mysql -u root mysql 4.修改密码
mysql> update user ser password = password('newpassword') where user = 'root'; # mysql5.7以上,请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; #5.刷新权限(必须,防止mysql的缓存影响)
mysql> FLUSH PRIVILEGES; #6.退出mysql
mysql> quit #7.重启mysql
service mysql restart #8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>

参考链接:

百度知道 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

PS:欢迎评论,提出错误,补充解决方法

MySQl出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决方法的更多相关文章

  1. MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决

    MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决: # /etc/init.d/mysql stop # my ...

  2. Mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    Mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Linux: MyS ...

  3. 转: windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost'

    windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost' 转自 http://zxy5241.space ...

  4. Ubuntu下 MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”

    今天闲来无事,在Ubuntu上掏鼓一下mysql.但尴尬的是,当我输入mysql -u root -p的时候,抛出了一个错误:ERROR 1045 (28000): Access denied for ...

  5. 【MySQL】ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    问题现象: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问root用户 ...

  6. 解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)

    一.问题 有时候我们登录Mysql输入密码的时候,会出现这种情况 mysql -u root -p Enter Password > '密码' 错误:ERROR 1045 (28000): Ac ...

  7. ERROR 1698 (28000): Access denied for user 'root'@'localhost' 解决方法

    之前MySQL服务端本机上使用密码登陆root账号是没有问题的,但是今天不知道是因为动了哪里,登陆失败并有这个错误代码: ~$ mysql -u root -p Enter password: ERR ...

  8. 解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题

    问题描述 今天在MAC上安装完MySQL后,MYSQL默认给分配了一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误:Access denied for user ‘ro ...

  9. 解决Linux下MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题

    两种方案: 一: 1.修改mysql配置文件:vim /etc/my.cnf 2.找到[mysqld]下添加 skip-grant-tables 配置 3.重启服务service mysqld res ...

  10. 在Linux下 MySQL错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决办法【很管用】

    一般这个错误是由密码错误引起,解决的办法自然就是重置密码. 假设我们使用的是root账户. 1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下: #vim /etc/my.cnf(注:wi ...

随机推荐

  1. PHP截取文章内容

    <?php /** * 实现中文字串截取无乱码的方法. */ function getSubstr($string, $start, $length) { if (mb_strlen($stri ...

  2. 戴尔R7920工作站利用PVE开启vGPU,实现工作站虚拟化(ShareStation)

    介绍 本文介绍了使用Proxmox VE(PVE) + DoraCloud,将一台Dell R7920图形工作站(配置有NVIDIA RTX A6000显卡)实现工作站虚拟化.可以满足多个设计用户同时 ...

  3. delphi中的退出程序的确认问题

    在formclose中用if Application.MessageBox('你确认要退出吗?','请确认',MB_YesNo+MB_IconQuestion)=IDno then begin ... ...

  4. Linux Shell获取指定日期 N 天/月/年前(后)的日期

    我们有时候在写批处理 Shell 脚本时,可能需要获取指定日期前(后) N 天/月/年的日期,这里的 N 可以是 1 天/月/年.2 天/月/年.3 天/月/年等等.方法其实很简单,这里做一个简单记录 ...

  5. NC26212 小石的签到题

    题目链接 题目 题目描述 小石和小阳玩游戏,一共有 \(n\) 个数,分别为 \(1 \sim n\) .两人轮流取数,小石先手.对于每轮取数,都必须选择剩下数中的任意一个数 \(x\) ,同时还要取 ...

  6. 【译】IEEE白皮书 6G 太赫兹技术的基本原理 2023版

    第一章 简介 太赫兹波是介于微波和光波之间的光谱区域,频率从 0.1THz ~ 10THz 之间,波长在 3mm ~ 30μm 之间.提供大块连续的频带范围以满足对 Tbit/s 内极高数据传输速率的 ...

  7. fmt、变量、常量

    fmt包 fmt包主要用于打印数据,常用的有Printf.Print.Printf // 文件所属包 package main // 导入fmt包,主要用于打印数据 import "fmt& ...

  8. 【Unity3D】线段渲染器LineRenderer

    1 LineRenderer 简介 ​ LineRenderer 组件用于绘制线段,可以调整线段条数.端点坐标.颜色.宽度等属性,其属性面板如下: Materials:线段材质,最好设置为 Defau ...

  9. golang微服务实践:分布式链路追踪系统-jaeger安装与简单使用

    简介 jaeger是一个比较有名的分布式链路追踪系统,底层用golang实现,兼容opentracing标准. 文档地址:docs github地址:github 官网:website blog:bl ...

  10. 将JavaBean对象转换为Map集合

    使用jackson-databind可以将JavaBean对象属性转换为Map集合. 添加配置依赖: <dependency> <groupId>com.fasterxml.j ...