连接远程mysql权限不足

在部署项目时遇到远程数据库连接失败的问题,通常由防火墙未开放端口或未授权远程连接引起。本文记录了一个特殊场景:密码不符合安全要求但已临时设置成功,重启数据库后无法连接。解决方案包括进入远程数据库、临时修改密码设置、重新分配权限并尝试本地连接。最终问题得到解决。
摘要由CSDN通过智能技术生成

最近部署项目的时候突然连不上远程数据库了,通过查找资料解决,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用



一 产生原因

这类问题的原因一般就是一下几种:

  • 防火墙开启但未开放端口

  • 数据库未授予远程连接权限

我的问题比较特殊,我的密码不符合新版数据库的安全要求(贼简单),但是通过临时的修改设置(即不重启mysql就一直能用) 使得密码设置成功,并且我也授予了root远程连接的权限,起初一直都可以远程连接,直到有一天我由于某个原因重启了远程数据库后,就连不上了。。。。

二 解决方案

1、通过远程连接工具,进入远程数据库

mysql -uroot -p

2、设置使能够使用简单密码

#修改密码规则,使可以设置简单密码
set global validate_password_policy=0;
set global validate_password_length=1;

3、重新分配权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

4、重新在本地连接远程数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
远程连接MySQL,需要进行以下步骤: 1. 首先,确认MySQL是否允许远程登录。默认情况下,MySQL只允许本地登录。如果需要远程访问数据库,需要修改MySQL的配置文件。可以通过修改`my.cnf`文件中的`bind-address`参数,将其改为服务器的IP地址或者`0.0.0.0`来允许所有IP地址远程连接。 2. 确保在MySQL中创建了允许远程连接用户。可以使用以下命令在MySQL中创建一个允许远程连接用户: ``` CREATE USER '用户名'@'远程主机IP' IDENTIFIED BY '密码'; ``` 例如,要创建一个名为root,密码为root用户,可以使用以下命令: ``` CREATE USER 'root'@'%' IDENTIFIED BY 'root'; ``` 此命令将创建一个允许从任何远程主机连接root用户。 3. 授予新创建的用户远程连接权限。可以使用以下命令为用户授予远程连接权限: ``` GRANT ALL PRIVILEGES ON *.* TO '用户名'@'远程主机IP'; ``` 例如,要为root用户授予从任何远程主机连接权限,可以使用以下命令: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';``` 这将授予root用户从任何远程主机连接MySQL服务器的权限。 4. 最后,重新加载MySQL权限表,以使更改生效。可以使用以下命令重新加载权限表: ``` FLUSH PRIVILEGES; ``` 这样,你就可以使用远程主机上的MySQL客户端连接MySQL服务器了。记得使用相应的用户名和密码进行连接。 要查看MySQL中的用户及其连接权限,可以使用以下命令: ``` USE mysql; SELECT User, authentication_string, Host FROM user; ``` 这将显示MySQL中的用户列表以及其对应的连接权限。 综上所述,要实现MySQL远程连接权限,需要修改MySQL的配置文件以允许远程连接,创建允许远程连接用户,并为该用户授予相应的权限。然后,通过MySQL客户端使用相应的用户名和密码进行远程连接。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值