我有一个GoDaddy的域名和Plesk的共享托管计划。
我在本地计算机上使用WAMP开发环境,我在本地建立了数据库连接。
现在我已经将所有必要的文件上传到Plesk(index.php,db_connect.php)我已经通过Plesk控制面板和所述数据库的默认用户创建了一个新数据库。在我的db_connect.php文件中,我将主机名设置为'localhost',db_user,我创建的用户的名称,db_pass,我创建的密码,最后是我创建的数据库的名称。 / p>
当我尝试在托管服务器上运行我的php脚本时,我不断收到相同的错误消息:
无法连接到数据库:用户'***'@'localhost'拒绝访问(使用密码:是)
我花了最后一天和一半阅读与此相关的其他帖子,但无济于事。我也尝试通过Plesk phpmyadmin应用程序上的SQL查询面板访问mysql root用户,但我一直收到语法错误。当我运行SHOW USER()和SHOW CURRENT_USER()等查询时,所有信息都会回复给我,但我仍然拒绝访问。
有谁知道如何解决此问题?我是初学程序员。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
好的,问题来自于使用localhost作为DB_HOST参数。在这种情况下,Localhost不正确。
解决方案来自于将“localhost”更改为数据库服务器ID,该数据库服务器ID在我的Plesk面板上找到,点击数据库链接并注意我尝试连接的数据库的“数据库服务器”字段。格式类似于IP地址:xx.xx.xxx.xx:xxxx(其中x =数字)。注意:最后4位数字是端口号,在使用它们连接到数据库服务器时将被排除。
解决方案来自Plesk的支持团队,我在研究中发现很晚(屏幕最右边有一个小的蓝色边栏,可以让你联系支持 - 我没看到这个吧第一)
支持我提供的信息与以下链接有关,可以提供相同的信息。 (我没有把两个和两个放在一起!) https://support.godaddy.com/help/article/39/viewing-your-database-details-with-shared-hosting-accounts?countrysite=ca
答案 1 :(得分:-2)
使用--skip-grant-tables选项重新启动Mysql,并确保将所有preville注册到root用户。也许这只是一个预先存在的问题