zoukankan      html  css  js  c++  java
  • mysql设置远程访问,解决不能通过ip登录的问题(MySQL Error Number 2003,Can't connect to MySQL server )

    mysql版本: 5.7.28,mysql 5.7版本的配置文件为:/etc/mysql/mysql.conf.d/mysqld.cnf

    今天想要通过mysql -uname -ppassword -hIP远程访问数据库,但是经历了种种挫折。针对远程访问数据库失败的问题,主要通过以下方式解决:

    假设mysql中远程访问的用户为z1

    1.检查使用用户z1,外部ip是否有访问MySQL Server数据库的权限

    使用mysql -uz1 -ppassword进入数据库
    use mysql;
    select * from user where User='z1';

    检查User='z1'时的Host是否为%。其中%代表所有ip,若Host为localhost,则只能在本地登录到数据库中。 若Host为localhost,使用update user set Host='%' where User='z1' and Host='localhost'; 更新Host的值

    2.如果需要新建用户,使用新建用户能够远程访问数据库,则使用:

    CREATE USER 'z1'@'%' IDENTIFIED BY '123456'; #其中,'z1'@'%' 是指新建用户z1,使用该用户名可以从任何主机来连接数据库,'123456'是密码

    刚创建的用户默认是没有权限的,需要使用grant指令进行权限的授予,如下所示:

    给用户赋权限:

    GRANT ALL PRIVILEGES ON *.* TO z1; #增加除Grant_priv以外的所有权限
    GRANT ALL PRIVILEGES ON *.* TO z1 WITH GRANT OPTION; #增加Grant权限

     3.设置远程登录时需要的其他操作:

    1. 修改mysql配置文件,将bind-address=127.0.0.1注释掉。。mysql 5.7版本的配置文件为:/etc/mysql/mysql.conf.d/mysqld.cnf
    2. 重启mysql服务 /etc/init.d/mysql restart
    3. 在其他机器上使用 mysql -uname -ppassword -hDbIP即可连入到DbIP中的数据库中

  • 相关阅读:
    java 异常 检查型和非检查型
    【jdbc】spring
    [事务] spring
    【事务】spring transaction 注解
    【线程同步】 Java 同步块(synchronized)详细说明
    【图片二进制接受】php
    C# 读取EXCEL文件的三种经典方法
    RS232 3线制与7线制的区别
    修改android 开机画面
    win7 vs2012+wdk8.0 搭建wdf驱动开发环境
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/15324270.html
Copyright © 2011-2022 走看看