php - 无法使用IP地址连接数据库服务器

标签 php mysql linux system-administration

我正在使用 PHP 和 MySQL 建立数据库连接,问题是:

当我尝试连接到数据库远程服务器时,我本地计算机中的 Web 应用程序项目一切正常

mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());

当我在具有 mysql 数据库的远程服务器中部署 Web 应用程序并尝试使用该 Web 应用程序时,我没有得到任何数据库错误连接!!如果我将数据库连接更改为:

mysql_connect("localhost","username","password") or die(mysql_error());

使用本地主机 (127.0.0.1) 而不是使用 ip 地址一切正常,我已经尝试检查/etc/my.conf 文件并添加 bind-address=192.168.15.15 并重新启动 mysql 服务器 仍然无法连接到数据库
任何想法!!!

最佳答案

您需要检查两件事。首先,确保端口 3306 对连接开放。其次,如果您是远程连接,则需要创建一个通配符用户(主机将是一个百分号 %)。查看 mysql.user 表。如果您尝试连接的用户的 Hostlocalhost,您将无法远程连接。

创建新用户:

创建用户 'newuser'@'%' IDENTIFIED BY 'password';

授予该用户权限,我建议只授予有问题的数据库:

GRANT ALL PRIVILEGES ON your_database.* TO 'newuser'@'%';

最后,重新加载权限:

FLUSH PRIVILEGES;

关于php - 无法使用IP地址连接数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465835/

相关文章:

php - Laravel 5 Eloquent,如何动态设置 cast 属性

mysql - CentOS7 : MariaDB update - Failed to start

mysql - 导入和计数后行数不同

linux - 什么是文件孔,如何使用?

c - 为什么取消共享(CLONE_NEWUSER)返回错误? (Linux)

php - 拉拉维尔 5 : AppServiceProvider vs custom provider

php - 计算编辑距离

mysql - 如何获取尚未存储在mysql中的产品数量

python - bash 脚本中的 coreutils 超时对于应用程序不透明

php - 选择数据库,获取某列的所有最大值