繁体   English   中英

mysql_connect不适用于站点

[英]mysql_connect not working for a site

因此,我在本地完成了一个站点,并且一直试图将其转移到在线服务器上。 这可能是一个非常愚蠢的问题,但是我花了最后一个小时试图找到答案,但我没有。 因此,这是一行在服务器上运行的PHP代码(用户名和密码已更改,但主机名相同):

if(!mysql_connect("www.bluestreakaquatic.com","username","password"))
die(mysql_error());

它产生此错误:

Can't connect to MySQL server on 'www.bluestreakaquatic.com' (10061)

谁能给我任何建议?

您的托管服务提供商出于安全原因可能不允许外部mySQL连接。

如果mySQL与您的站点在同一服务器上运行,请尝试将域名替换为localhost

如果这样不起作用,则需要向托管服务提供商询问正确的数据库服务器地址。

我最近遇到了同样的问题。

如果您拥有对服务器的完全访问权限(需要root特权):

步骤1:编辑my.cnf

找到以下行: [mysqld]并确保对skip-networking进行了注释(或删除了行)并添加了以下行:

bind-address=YOUR-SERVER-IP

例如,如果您的MySQL服务器IP为66.166.170.28,则整个块应如下所示:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......

哪里

  • bind-address :要绑定的IP地址。
  • skip-networking :根本不监听TCP / IP连接。 与mysqld的所有交互都必须通过Unix套接字进行。 对于仅允许本地请求的系统,强烈建议使用此选项。 由于需要允许远程连接,因此应从my.cnf中删除此行或将其置于注释状态。

步骤2:授予对所有主机的访问权限

使用以下命令启动MySQL监视器: mysql/usr/local/mysql/bin/mysql 您的shell提示符现在应如下所示: mysql> 运行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";

哪里:

  • USERNAME是使用php脚本进行连接时使用的用户名。
  • PASSWORD是您在连接时使用的密码。

现在,您必须刷新MySQL的特权。 运行以下命令:

FLUSH PRIVILEGES;

运行以下命令退出MySQL:

exit;

步骤3:重新启动MySQL Deamon

/etc/init.d/mysqld restart

要么

/etc/init.d/mysql restart

取决于您的服务器当前正在运行的Linux发行版。

如果您在共享主机环境中:

由于安全隐患,任何托管服务提供商都不太可能允许远程连接到mysql服务器。 但是,如果您的托管服务器使用DirectAdmin控制面板或cPanel,您可能会很幸运。 如果是这样,请按照下列步骤操作:

对于DirectAdmin:

转到MySQL Management 选择您的数据库,然后单击它。 您将找到一个名为“ Access Hosts的部分。 添加新主机:( %

干得好

对于cPanel:

转到“ Databases部分下的“ Remote MySQL ,然后添加%而不是myhost.com

干得好

另请参见参考: http : //dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html

如果无法从Web服务器连接到远程mysql服务器,但可以从本地主机连接到远程mysql服务器,则该服务器可能没有授予来自该主机的用户名的权限。

GRANT ALL PRIVILEGES ON database.* TO username@serverhostname IDENTIFIED BY 'password'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM