Php 向mysql授予远程访问权限
您好,我在Centos VPS上,安装了nginx+mysql+php fpm。我正在尝试允许从我的另一个VP远程访问此计算机上的数据库 我尝试了以下步骤Php 向mysql授予远程访问权限,php,mysql,database,linux,nginx,Php,Mysql,Database,Linux,Nginx,您好,我在Centos VPS上,安装了nginx+mysql+php fpm。我正在尝试允许从我的另一个VP远程访问此计算机上的数据库 我尝试了以下步骤 修改了/etc/my.cnf文件,然后在[mysqld]块中添加了行绑定地址=* 使用命令/etc/init.d/mysqld restart 登录mysql 键入use social命令,并尝试运行命令将**上的所有权限授予根@1.2.3.4,由“pass”标识其中1.2.3.4是我要从中远程访问社交数据库的VP的IP 错误是get i
- 修改了
文件,然后在[mysqld]块中添加了行/etc/my.cnf
绑定地址=*
- 使用命令
/etc/init.d/mysqld restart
- 登录mysql
- 键入
命令,并尝试运行命令use social
将**上的所有权限授予根@1.2.3.4,由“pass”标识代码>其中1.2.3.4是我要从中远程访问社交数据库的VP的IP
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
再进一步挖掘,我发现如果我使用命令
GRANT ALL PRIVILEGES ON dbname TO root@'1.2.3.4' IDENTIFIED BY 'pass';
其中,dbname是我要操作的数据库的名称,然后它就可以工作了,在刷新特权之后,我可以看到新的mysql.user表中有新的用户授权。但即使这样,如果我尝试远程连接到它们,我也会得到一个空白页面。毫无例外。
这是我用来连接这个数据库的php文件的副本
<?php
$conn = @mysql_connect('1.2.3.4','root','pass');
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
try{
mysql_select_db('dbname', $conn);
}
catch (Exception $e)
{
echo $error = "An error has occured ".$e->getMessage()." (Code: ".$e->getCode()." )";
echo $error;
}
try{
$sql = "SELECT * FROM bla_user";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
echo $count;
}
catch (Exception $e)
{
echo $error = "An error has occured ".$e->getMessage()." (Code: ".$e->getCode()." )";
echo $error;
}
?>
我在这里更改了密码和数据库名称。
这些文件当前托管在主VP和我试图从中访问的VP上,可以在和处查看
有人能告诉我为什么我会遇到这个错误,当我可以登录和创建用户,甚至使用相同的用户名,根和相同的密码在数据库上操作,即使在这个错误之后 运行此命令后
GRANT ALL PRIVILEGES ON dbname TO root@'1.2.3.4' IDENTIFIED BY 'pass';
同时运行此命令
FLUSH PRIVILEGES;
有关运行此命令后的更多信息
GRANT ALL PRIVILEGES ON dbname TO root@'1.2.3.4' IDENTIFIED BY 'pass';
同时运行此命令
FLUSH PRIVILEGES;
有关运行此命令后的更多信息
GRANT ALL PRIVILEGES ON dbname TO root@'1.2.3.4' IDENTIFIED BY 'pass';
同时运行此命令
FLUSH PRIVILEGES;
有关运行此命令后的更多信息
GRANT ALL PRIVILEGES ON dbname TO root@'1.2.3.4' IDENTIFIED BY 'pass';
同时运行此命令
FLUSH PRIVILEGES;
更多信息我已经这样做了,但没有用,当我尝试远程登录并尝试运行select命令时,它表示用户没有运行select的权限。但是我已经运行了“授予所有特权”命令!!可以阅读文档并授予特定用户表和列的权限:)我已经设法修复了它,出现问题的是命令
将dbname上的所有权限授予root@“1.2.3.4”,由“pass”标识
这是只向表dbname.dbname
授予特权,正确的方法是GRANT-ALL-privileges-ON-dbname.*向root@“1.2.3.4”授予由“pass”标识的权限代码>对不起,亲爱的,我无法解决这个问题…我已经这样做了,但没有用,当我尝试远程登录并尝试运行select命令时,它表示用户没有运行select的权限。但是我已经运行了“授予所有特权”命令!!可以阅读文档并授予特定用户表和列的权限:)我已经设法修复了它,出现问题的是命令将dbname上的所有权限授予root@“1.2.3.4”,由“pass”标识
这是只向表dbname.dbname
授予特权,正确的方法是GRANT-ALL-privileges-ON-dbname.*向root@“1.2.3.4”授予由“pass”标识的权限代码>对不起,亲爱的,我无法解决这个问题…我已经这样做了,但没有用,当我尝试远程登录并尝试运行select命令时,它表示用户没有运行select的权限。但是我已经运行了“授予所有特权”命令!!可以阅读文档并授予特定用户表和列的权限:)我已经设法修复了它,出现问题的是命令将dbname上的所有权限授予root@“1.2.3.4”,由“pass”标识
这是只向表dbname.dbname
授予特权,正确的方法是GRANT-ALL-privileges-ON-dbname.*向root@“1.2.3.4”授予由“pass”标识的权限代码>对不起,亲爱的,我无法解决这个问题…我已经这样做了,但没有用,当我尝试远程登录并尝试运行select命令时,它表示用户没有运行select的权限。但是我已经运行了“授予所有特权”命令!!可以阅读文档并授予特定用户表和列的权限:)我已经设法修复了它,出现问题的是命令将dbname上的所有权限授予root@“1.2.3.4”,由“pass”标识
这是只向表dbname.dbname
授予特权,正确的方法是GRANT-ALL-privileges-ON-dbname.*向root@“1.2.3.4”授予由“pass”标识的权限代码>抱歉亲爱的,我无法解决此问题。。。