【问题标题】:MySQL is not accessible from public ip installed on linux无法从安装在 linux 上的公共 ip 访问 MySQL
【发布时间】:2015-10-09 16:04:42
【问题描述】:

我有 debian linux 系统。我在上面安装了 MySQL。我无法从公共访问中访问它。我编辑了 /etc/mysql/my.cnf 并将 bind-address=127.0.0.1 更改为我的服务器地址,然后重新启动了 mysql 服务。但是当我重新启动 mysql 服务时它显示

警告:全局可写配置文件 '/etc/mysql/my.cnf' 被忽略

我该如何解决这个问题?

【问题讨论】:

  • 我觉得你需要chmod o-w /etc/mysql/my.cnf

标签: mysql linux


【解决方案1】:

现在它工作正常。我执行的步骤

步骤:-

1) SSH 进入虚拟机实例。 2) 使用 cd /etc/mysql 进入 /etc/mysql 目录 3) 编辑 my.cnf 文件。默认情况下,权限为 u=rw,g=r,o=r,因此我们需要更改其权限以使用

进行编辑

sudo chmod u=rwx,g=rwx,o=rwx my.cnf

4) 现在使用
编辑此文件 vi my.cnf

5) 在 [mysqld] 指令下将绑定地址更改为 0.0.0.0 绑定地址=您的服务器-IP

6) 注释掉skip-networking # 跳过网络

7) 按 Esc 和 :wq 保存 my.cnf 并回车

8) 使用重启 Mysql 服务 etc/init.d/mysqld 重启

9) 使用登录 mysql mysql -u root -p mysql

10) 授予用户访问权限 全部授予 . 到 @'%' 由 '' 识别; . -> database_name.tables (可以提供对特定数据库的访问) ‘%’ -> IP_address(提供对特定 ip 的访问权限)

11) 您需要使用 iptables 或 BSD pf 防火墙打开 TCP 端口 3306 /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

12) 在 Google VM 实例上添加防火墙规则 项目名称 -> Compute Engine -> 网络 -> 点击默认网络 添加防火墙规则,如 提供任何名称并在允许的协议和端口下 -> tcp:3306;

13) 完成

【讨论】:

    【解决方案2】:

    尝试以root身份刷新权限登录并使用MySQL;数据库,与授予权限有关

    FLUSH PRIVILEGES;
    

    删除该用户的旧用户条目,并将具有域的用户直接插入到用户表中。

    insert into user (....) values (....)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2020-11-03
      • 1970-01-01
      • 2018-07-29
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多