连接远程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。

总结

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

相关文章

  • C++连接使用MySQL的方法

    C++连接使用MySQL的方法

    这篇文章主要为大家详细介绍了C++连接使用MySQL的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 关于MySQL主从复制的几种复制方式总结

    关于MySQL主从复制的几种复制方式总结

    这篇文章主要给大家介绍了关于MySQL主从复制的几种复制方式,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • mysql 从一个表中查数据并插入另一个表实现方法

    mysql 从一个表中查数据并插入另一个表实现方法

    这篇文章主要介绍了mysql 从一个表中查数据并插入另一个表实现方法的相关资料,需要的朋友可以参考下
    2017-05-05
  • mysql 忘记密码的解决方法(linux和windows小结)

    mysql 忘记密码的解决方法(linux和windows小结)

    下面是linux和windows下mysql丢失密码的解决办法
    2008-12-12
  • Mysql常用运算符与函数汇总

    Mysql常用运算符与函数汇总

    本文给大家汇总介绍了mysql中的常用的运算符以及常用函数的用法及示例,非常的全面,有需要的小伙伴可以参考下
    2017-09-09
  • MySQL索引类型Normal、Unique和Full Text的讲解

    MySQL索引类型Normal、Unique和Full Text的讲解

    今天小编就为大家分享一篇关于MySQL索引类型Normal、Unique和Full Text的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • mysql server 5.5连接不上的解决方法

    mysql server 5.5连接不上的解决方法

    这篇文章主要为大家详细介绍了mysql server 5.5连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 详解mysql 中的锁结构

    详解mysql 中的锁结构

    这篇文章主要介绍了mysql 中的锁结构的相关资料,帮助大家更好的理解和使用数据库,感兴趣的朋友可以了解下
    2020-10-10
  • MySQL进行表之间关联更新的实现方法

    MySQL进行表之间关联更新的实现方法

    在实际编程工作或运维实践中,对MySQL数据库表进行关联更新是一种比较常见的应用场景,针对这样的业务场景,我们来看看有什么方法可以实现关联更新,需要的朋友可以参考下
    2023-10-10
  • Mysql纵表转换为横表的方法及优化教程

    Mysql纵表转换为横表的方法及优化教程

    在应用中为了从不同的视图去分析数据,会使用不同的方案去查询数据库,横表和纵表的相互转换就是其中一个常见的情景,这篇文章主要给大家介绍了关于Mysql纵表转换为横表的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论