zoukankan      html  css  js  c++  java
  • mysql 允许远程连接

    linux装完MySQL后想用navcat连接数据库 :

    1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:

    mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

    mysql> flush privileges;

    第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

    GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";

    第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

    2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

    bind-address          = 127.0.0.1  

    将其注释掉,保存

    检查是否设置了: skip_name_resolve  这个参数加上后,不支持主机名的连接方式

    3、排除一下端口问题

    ps -ef | grep mysqld 

    确认mysql服务监听的是3306端口 

    可在/etc/mysql/my.cnf  修改 port=3306

    在windows控制台cmd  telnet  IP 端口号测试 

    4、重新启动MySQL服务器。执行下面的几条命令即可:

    # /usr/bin/mysqladmin -u root -p shutdown

    # /usr/bin/mysqld_safe &

    如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:

    # whereis mysqladmin
    mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

    执行完上面的三步后,还未连接数据库数据库了且 Can't connect to MySQL server (10060)异常

    5.在iptables中开放3306端口

     #/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
     #/etc/rc.d/init.d/iptables save  保存:

     # service iptables restart  重启生效

    当然除了开放3306端口外,还有一个方法就是关闭防火墙,命令为:

     # service iptables stop  

    不过,不推荐这种做法,因为这会引起安全性问题。

    注意:若为阿里云的服务器 则需要在阿里云服务器管理后台手动开启端口

  • 相关阅读:
    Linux和Docker常用命令
    学习docker on windows (1): 为什么要使用docker
    使用xUnit为.net core程序进行单元测试(4)
    使用xUnit为.net core程序进行单元测试(3)
    高效地使用搜索引擎
    充分条件和必要条件
    上海全球“编程一小时”活动记
    C#.NET股票历史数据采集,【附18年历史数据和源代码】
    R学习笔记 ---- 系列文章
    平方根的原理
  • 原文地址:https://www.cnblogs.com/viagraHero/p/7422172.html
Copyright © 2011-2022 走看看