MYSql 配置绑定地址设置为 0.0.0.0 但 netstat 在 Ubuntu 上显示不同

2024-03-17

关注此线程 https://stackoverflow.com/questions/11758339/error-2003-hy000-cant-connect-to-mysql-server-111。我已成功编辑 my.cnf 文件以注释掉#bind-address值并试图指定0.0.0.0以及我想要允许连接的具体 IP 地址。

我确实注意到,在执行此操作时 my.cnf 的链接如下:

lrwxrwxrwx   1 root root    24 Sep  9 06:21 my.cnf -> /etc/alternatives/my.cnf

然后这个 my.cnf 也被链接:

lrwxrwxrwx 1 root root 20 Sep  9 06:23 my.cnf -> /etc/mysql/mysql.cnf

所以实际上,我正在编辑 mysql.cnf 文件。

我停止/启动 MYSQL 服务器。

然后我运行netstat -nat | grep :3306它给了我一个:

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 

然后我转到客户端并得到 Can't connect to MySQL server on 'server_name'

我究竟做错了什么?


绑定地址到0.0.0.0这只是允许其接受远程连接的步骤的一部分。这些步骤包括明确地进行 rem'ing# skip-networking

[mysqld]
bind-address    = 0.0.0.0
# skip-networking

并重新启动服务器。

然后你需要一个用户、主机组合来登录,最好是一个GRANT给数据库以足够的(不是过多的)权限来使用。

您可以使用以下命令查看当前用户select user,host from mysql.user

请参阅 MySQL 手册页面GRANT语法 http://dev.mysql.com/doc/refman/5.7/en/grant.html.

我写了一个小答案Here https://stackoverflow.com/a/39400389关于通配符%主机和其他次要细节。

测试说明如下:

create schema testDB007;
use testDB007;

create table t1
(   id int not null
);

CREATE USER 'jeffrey123z'@'%' IDENTIFIED BY 'mypass123^';
-- note password is mypass123^

GRANT ALL ON testDB007.* TO 'jeffrey123z'@'%';
SHOW GRANTS FOR 'jeffrey123z'@'%';

现在,上面的蓝色行(USAGE)几乎意味着用户可以登录,仅此而已。第 2 行显示PRIVILEGES对于来自的数据库GRANT cmd.

查看用户位于mysql.user:

就上图而言,

select user,host,password from mysql.user where user='jeffrey123z';

select user,host,authentication_string from mysql.user where user='jeffrey123z';

上面的第一个查询适用于 MySQL 5.7 之前的版本。第二个查询适用于 5.7 及更高版本。密码经过哈希处理。主机是通配符%意思是从任何主机登录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSql 配置绑定地址设置为 0.0.0.0 但 netstat 在 Ubuntu 上显示不同 的相关文章

  • PHP mysql 土耳其语字符编码及比较

    我正在尝试通过 AJAX POST 从 MySql 数据库中过滤土耳其语姓名 英文字母单词列出一切正常 但是如果我发送 这是带点的字母 O 结果不仅是 还包括 O 和 另外我注意到 AJAX 帖子被发送 作为 C3 96 有人可以帮忙吗 请
  • MySQL REPLACE:如何替换由相同头和尾分隔的每个不同子字符串中出现的所有字符

    我有这个字符串 p span b C10373 FIAT GROUP AUTOMOBILES RAMO DI AZIENDA DI KUEHNE NAGEL b span p p la somma pari a 400 IVA per l
  • 错误:mysqladmin:刷新失败;错误:“未知错误”

    当我厌倦了每天从 Cron Daemon 收到电子邮件时 我的问题就开始了 电子邮件如下所示 From Cron Daemon lt email protected cdn cgi l email protection gt Date 20
  • 解析日期字符串

    我在 post 变量中有这个字符串 03 21 2011 我需要通过php解析它并将其转换成这种格式 2011 03 21 我正在使用 php 我需要这种格式 以便我可以运行此查询 SELECT prospect as Prospect c
  • 如何提高MySQL INSERT和UPDATE性能?

    我们数据库中的 INSERT 和 UPDATE 语句的性能似乎正在下降 并导致我们的 Web 应用程序性能不佳 表是InnoDB 应用程序使用事务 我可以做一些简单的调整来加快速度吗 我认为我们可能会遇到一些锁定问题 我怎样才能找到答案 你
  • 在 Ubuntu 上运行独立的 ASP.NET Core 应用程序

    我已经发布了一个 ASP NET Core 应用程序作为针对 Ubuntu 的独立应用程序 发布似乎工作正常 我已将这些文件复制到一台漂亮的 Ubuntu 机器上 现在 我如何运行我的应用程序 我的理解是 因为它是一个独立的 NET Cor
  • 可能的 PDOException 错误(MySQL 5)?

    因此 我正在为我的网络应用程序设置一个安装程序 并具有数据库凭据的输入字段 我的验证过程的一部分包括测试数据库连接 使用 PHP 的 PDO 库 如果连接失败 我希望能够区分错误的密码 错误的地址 不存在的数据库名称等 以便我可以引用表单上
  • 2 个使用 jQuery 或 Ajax 的自动完成/建议输入框,第二个框基于多个项目的第一个选择

    我尝试过很多 jquery 和 ajax 自动完成脚本 我发现很难尝试将它们中的任何一个集成到我需要的东西中 让我解释一下我想要实现的目标 我需要 2 个自动完成框 第二个从第一个中提取数据 它们还必须都支持多个条目 查询数据库中的数据 我
  • mysqldump 只导出一张表

    我使用 mysqldump 导出数据库 如下所示 mysqldump u root ppassword my database gt c temp my database sql 不知何故 它只导出一张表 我做错了什么吗 尝试这个 一般有三
  • 使用mysqldump只转储数据,不转储任何表信息

    我正在寻找转储 mysql 数据库中所有数据的语法 我不需要任何表格信息 mysqldump no create info 您也可以使用 skip triggers 如果您使用触发器 no create db 如果您正在使用 databas
  • 应用程序在 JSON jparser 发出 http 请求时崩溃

    您好 我使用本教程连接到网络或本地的 mySQL 数据库 here http www androidhive info 2012 05 how to connect android with php mysql 虽然所有服务器端 php 文
  • 如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?

    我两者都有python2 7 and python3 2安装在Ubuntu 12 04 符号链接python链接到python2 7 当我输入 sudo pip install package name 它将默认安装python2的版本pa
  • vagrant + virtualbox 等待机器启动时超时

    抱歉 我对 vagrant 很陌生 我正在运行 vagrant 1 4 3 和 virtualbox 4 3 26 我的主机操作系统是 ubuntu 14 04 2 我是一名 php 开发人员 我正在努力让我的开发环境为几个项目做好准备 我
  • Php - 您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展

    如何修复下面的错误 您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展 我使用带有 telnet 连接的 NAS 我安装了FFP 0 7 My php ini is in ffp etc php ini我取消了我认为有
  • 从同一mysql服务器的不同数据库复制表

    我有一台带有 2 个数据库的服务器 我想将多个表从一个数据库复制到另一个数据库 目的是我们使用项目中使用的相同用户表 正如在另一个表中使用 InnoDB 和用户表的外键一样 我选择了一种复制方式 为此我对 my cnf 进行了更改 mast
  • 如何防止mysql隐式提交

    mysql文档 http dev mysql com doc refman 5 5 en implicit commit html指出某些语句将在事务期间导致隐式提交 例如 CREATE TABLE foo bar INT START TR
  • MySQL 中两个 Select 查询的结果相减

    我编写了两个 mysql 查询 一个获取一年中特定月份的总用户 注册 另一个获取一年中特定月份的活跃用户 我需要找到数量inactive当年的用户 为此 我正在考虑减去通过两个单独的查询获得的总用户数和活动用户列 以下是查询 1 Fetch
  • 使用 PHP 连接到 Amazon RDS

    我正在尝试将 RDS 实例与 PHP 连接文件连接 这是我的文件中的内容 define DB SERVER localhost define DB USERNAME User Name define DB PASSWORD Password
  • Django migrate:不创建表

    经过一些错误后 我删除了数据库 删除了所有迁移文件 我留下了init py 现在 当我跑步时 python migrate py makemigrations It creates migrations correctly python m
  • 将一段文本保存到mysql

    我正在使用 php 和 mysql 做一个项目 我对此很陌生 现在我必须将一段文本存储到我的数据库中 在表中 对于列 I tried varchar 5000 创建表时但它不允许我 所以请给我一个解决方案 你的 mysql 字段类型应该 T

随机推荐