我有一个安装了MySQL的新服务器,1个用户(不是root用户),我设置了一个带有表的数据库。 我希望能够使用我的PHP代码从我的其他服务器连接到这个新服务器的数据库。 为此,我做了一个
mysqli_connect($servername, $username, $password, $dbname, $db_port);
但是有这个错误:
mysqli_connect(): (HY000/2002)
我可以肯定这不是PHP代码错误,但肯定是SQL错误。 我不知道这是来自与我的新服务器的远程可能性连接,还是用户生成的问题。 首先,我们确实同意在 PHP 中$servername
是我的新服务器的 IP 的 egal,而$db_port
是 egal 到 3306,就像在 mysql 中按SHOW GLOBAL VARIABLES LIKE 'PORT';
返回一样?
非常感谢您的时间, 我在这里问我的问题,因为我对这个主题做了很多研究,但对我没有任何帮助。 有人可以开导我吗?
对于有同样问题的人,我终于解决了它:
我创建了一个数据库CREATE MYSQL db_name;
在我创建一个用户CREATE USER 'user_name'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
%
的意思是来自任何地方.
之后我使用了GRANT your_privileges ON db_name.* TO 'user_name'@'%';
FLUSH PRIVILEGES;
之后,我只需要向 MYSQL 端口 (3306) 打开防火墙提供程序,然后我为每个传入的 ip.
打开它,这很好!
感谢您的帮助:)