mysql 1045 拒绝远程链接

1、报错与原因

今天,使用 Navicat 远程登录一台 PC 机的 mysql(linux 系统),结果报错如下:

在这里插入图片描述

从报错信息来看,是用户 sdt 登录 100.10.51.32 被否决了,但是使用密码是正确的,其错误原因可能有两个:

用户名错误
该 PC 机拒绝远程访问,即本地所在 IP 没有访问权限
第一个原因很快被我否决了,尝试根据第二个可能错误原因去解决。

本地所在的 ip 没有访问权限,被拒绝访问,需要我们在数据库为我们的本地 ip 添加访问权限。

2、解决方案

第一步:登录 PC 机 mysql

打开 PC 机的命令行,输入:

mysql -u root -p

然后输入密码,即可登录 mysql。

不过,输入上面命令可能会遇到如下问题。

问题一

-bash: mysql: command not found

 

这是由于系统默认会查找的/usr/bin 中下的命令,如果这个命令不在这个目录下,当然会找不到命令。

我们需要做的就是映射一个链接到的/usr/仓目录下,相当于建立一个链接文件,比如我的 mysql 文件在/usr/local/mysql/bin/mysql,则需要执行命令如下:

ln -s  /usr/local/mysql/bin/mysql   /usr/bin

注意:此时可能会遇到权限问题:ln: failed to create symbolic link ‘/usr/bin/mysql’: Permission denied

此时使用如下命令切换到 root 用户,再执行上面命令即可:

sudo su 

 

如何找到 linux 系统上,mysql 的安装路径和可运行路径:

# mysql安装路径
whereis mysql

# mysql可运行路径
which mysql

问题二

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

 

错误原因可能有两个:

  • mysql 登录命令输入错误
  • 密码输入错误

我遇到这个问题是第一个原因,我输入的 mysql 登录命令如下:

# 错误输入命令,p前面少了-,这就略过了输入密码的步骤
mysql -u root p

 

第二步:修改数据库访问权限

有两种修改方案:

# 第一种:所有的ip都有资格访问该数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

# 第二种:为指定的ip开放访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.12.1' IDENTIFIED BY ‘password' WITH GRANT OPTION;

 注意:要将上面的 password 修改为你自己的登录密码,root 账户也可以修改

第三步:刷新权限,重启 mysql

继续 mysql 登录状态,输入如下命令:

flush privileges;

执行成功后,退出 mysql(输入 quit 或者 exit)。

重启 mysql 即可成功连接。

这里重点说一下重启 mysql 命令,这个命令会根据你的 mysql 配置不同而不同,比如我使用的重启命令为:

service mysql restart

 有的 service 重启命令为:

service mysqld restart

service mysql.server restart

 三者的区别在于,你在/etc/init.d/(这个目录是 service 的相关目录)目录下的配置,比如我的是:

在这里插入图片描述

可以看到,该目录存在 mysql.service,那我要重启 mysql,可以有下面三种方法:

# 使用service命令
service mysql restart

# 使用service命令,不过mysql用全称
service mysql.server restart

# 使用脚本命令
/etc/init.d/mysql.server restart

 你也可以将 mysql.server 重名为 mysqld,那么重启命令就要将 mysql 或者 mysql.server 修改为 mysqld:

# 使用service命令
service mysqld restart

# 使用脚本命令
/etc/init.d/mysqld restart

 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值