MySQL远程登陆错误

远程连接 mySql数据库会提示10061、1045错误或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),这个原因是因为MySQL不准许远程连接。

最简单的办法是,通过root用户进入mysql,添加下面命令:

grant all on *.* to 用户名@"%" identified by "密码";
flush
privileges;

 

命令格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

  •   权限:select/insert/update/delete/all,多个权限之间用英文逗号隔开。

  •   数据库:数据库名称,或者使用“*”代替所有数据库。

  •   登录主机:localhost/具体IP/%,其中“%”代表除localhost之外的所有IP。

 

mysql默认是打开3306端口给外部的。如果是本地连接,不指明 mysql --protocol=tcp, 连接默认是socket方式连接的,socket连接是根据sokect文件来的,与--port不相关的,所以本地连接不需要确定端口。如果是异地服务器登陆的话就需要确认下端口的是否正确了。

 

如果还是无法连接上,还需检验以下方式:

1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项);

2:重新启动MySQL服务;

 

如果以新的身份无法登录进去,可以查看下:

1、数据库是否添加了该用户,select * from mysql.user ;

2、有没有忘了 flush privileges,因为添加完权限可能没有写到内存去,所以你必须加上这个命令或者重启mysql,service mysql restart;

3、看下服务器的防火墙有没设置好,看下端口是否被限制;

posted @   林锅  阅读(473)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示