连接远程mysql数据库失败常见原因及解决方案

 更新时间:2024年07月08日 16:37:22   作者:Thomas_Lean  
这篇文章主要介绍了连接远程mysql数据库失败常见原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

连接远程mysql数据库失败常见原因及解决

安装好mysql后,想本地用Navicat直接远程链接方便一些,结果发现连不上。

我第一个想到的就是数据库没有开放远程登陆权限,于是设置明明如下:

进入mysql开放权限

bash-4.2# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 399
Server version: 5.7.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

再次链接,又是一样的错误!!!

如图:

查看网络端口开放情况:

[root@docker home]# ss -tlnp
State       Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              
LISTEN      0      100               127.0.0.1:25                                    *:*                   users:(("master",pid=1554,fd=13))
LISTEN      0      128                       *:22                                    *:*                   users:(("sshd",pid=1161,fd=3))
LISTEN      0      100                   [::1]:25                                 [::]:*                   users:(("master",pid=1554,fd=14))
LISTEN      0      128                    [::]:22                                 [::]:*                   users:(("sshd",pid=1161,fd=4))

果然没有数据3306的端口,也就是说服务器不允许非本地ip访问数据库。

新建用户

CREATE USER ‘data_center'@‘%' IDENTIFIED BY ‘pass';
GRANT ALL PRIVILEGES ON . TO ‘data_center'@‘%' WITH GRANT OPTION;
ALTER USER ‘data_center'@‘%' IDENTIFIED WITH mysql_native_password BY ‘pass';

配置文件限制远程访问

可能是配置文件只允许自己本机才能访问,所以就去修改配置文件:

找到

bind-address = 127.0.0.1
或
skip-networking

并注释掉,然后重启mysql。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL外键约束(Foreign Key)案例详解

    MySQL外键约束(Foreign Key)案例详解

    MySQL外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用,下面这篇文章主要给给大家介绍了关于MySQL外键约束(Foreign Key)的相关资料,需要的朋友可以参考下
    2022-06-06
  • MySQL数据库InnoDB引擎主从复制同步经验总结

    MySQL数据库InnoDB引擎主从复制同步经验总结

    这篇文章主要介绍了MySQL数据库InnoDB引擎主从复制同步经验总结,本文总结了设置主从复制时遇到的一些错误和解决方法,需要的朋友可以参考下
    2015-01-01
  • Mysql5.7.11在windows10上的安装与配置(解压版)

    Mysql5.7.11在windows10上的安装与配置(解压版)

    本文分为三大步给大家介绍Mysql5.7.11解压版在windows10上的安装与配置,另外还给大家带来了mysql5.7.11服务无法启动,错误代码3534的解决方案,非常不错,有需要的朋友参考下
    2016-08-08
  • MySQL too many connections错误的原因及解决

    MySQL too many connections错误的原因及解决

    这篇文章主要介绍了MySQL too many connections错误的原因及解决,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • mac 装5.6版本mysql 设置密码的简易方法

    mac 装5.6版本mysql 设置密码的简易方法

    这篇文章主要介绍了mac 装5.6版本mysql 设置密码的简易方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • MAC版修改MySQL初始密码的方法

    MAC版修改MySQL初始密码的方法

    这篇文章主要介绍了MAC版修改MySQL初始密码的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • MySQL库操作和表操作详细图文教程

    MySQL库操作和表操作详细图文教程

    在MySQL数据库中表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,主要用来实现存储数据记录,这篇文章主要给大家介绍了关于MySQL库操作和表操作的相关资料,需要的朋友可以参考下
    2023-12-12
  • 解决MySQL innoDB间隙锁产生的死锁问题

    解决MySQL innoDB间隙锁产生的死锁问题

    线上经常偶发死锁问题,当时处理一张表,也没有联表处理,但是有两个mq入口,并且消息体存在一样的情况,但是是偶发的,又模拟不出来什么场景会导致死锁,只能进行代码分析,问题还原的方式去排查问题,本文给大家介绍了如何解决MySQL innoDB间隙锁产生的死锁问题
    2023-10-10
  • MySQL交换分区的实例详解

    MySQL交换分区的实例详解

    这篇文章主要介绍了MySQL交换分区的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Mysql的root账户密码忘记了怎么解决(百分百教会你重置!)

    Mysql的root账户密码忘记了怎么解决(百分百教会你重置!)

    mysql是常用的数据库,很多程序员在使用的过程中会出现root用户密码忘记的事情,这篇文章主要给大家介绍了关于Mysql的root账户密码忘记了该怎么解决的相关资料,文中介绍的方法百分百教会你如何重置,需要的朋友可以参考下
    2024-05-05

最新评论