目录

  • ​​1、解决mysql错误1045​​
  • ​​1.1、简述​​
  • ​​1.2、具体报错​​
  • ​​1.3、原因​​
  • ​​1.4、解决方案​​
  • ​​2、解决mysql错误2002​​
  • ​​1.1、简述​​
  • ​​1.2、具体报错​​
  • ​​1.3、原因​​
  • ​​1.4、解决方案​​

1、解决mysql错误1045

1.1、简述

“ERROR 1045 (28000): Access denied for user ‘abc’@’%’ (using password: YES)”
今天给某一个mysql用户添加权限的时候碰到了这个问题

1.2、具体报错

如何解决mysql的ERROR1045和2002_报错

1.3、原因

原因是我登录的用户本身就不是超级权限,所以添加权限时报错

1.4、解决方案

①、登录root用户或者有全部权限的用户
②、在执行以下命令:

grant all privileges on *.* to 'abc'@'%' with grant option;

命令解释:
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

③、成功截图:

如何解决mysql的ERROR1045和2002_mysql_02

2、解决mysql错误2002

1.1、简述

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
正常跑的mysql,外部连接都正常,但是用命令登录时报此错误并无法登录。

1.2、具体报错

如何解决mysql的ERROR1045和2002_mysql_03

1.3、原因

原因是之前迁移数据库时,忘记改mysql.sock的链接

1.4、解决方案

①、既然mysql正常运行,那么肯定有mysql对应的.sock文件。这样就直接搜索mysql进程,找到它的.sock路径,在做个链接就解决了。
②、在执行以下命令:
查看mysql进程

ps aux|grep mysql

如何解决mysql的ERROR1045和2002_授权_04


链接mysql.sock

ln -s 已有路径 /var/lib/mysql/mysql.sock

如何解决mysql的ERROR1045和2002_mysql错误_05


查看一下成功否,OK了

如何解决mysql的ERROR1045和2002_mysql_06

③、成功截图:

如何解决mysql的ERROR1045和2002_mysql错误_07