如何配置和传输 MySQL(使用登录凭据)从 XAMPP 本地网络服务器到基于 Hostgator/Linux 的托管服务器?

Posted

技术标签:

【中文标题】如何配置和传输 MySQL(使用登录凭据)从 XAMPP 本地网络服务器到基于 Hostgator/Linux 的托管服务器?【英文标题】:How to Configure & Transfer the MySQL(with login credentials) from XAMPP local webserver to Hostgator/Linux based hosting Server? 【发布时间】:2015-09-16 08:15:36 【问题描述】:

我创建了这个具有登录页面的自定义网站。不涉及 wordpress 或任何 CMS。 当我在本地服务器上运行网站时,它工作正常。 尽管尝试了很多次,但我不确定如何将它托管在共享服务器中,并迁移我拥有的简单数据库,它有 4 列(索引、用户名、电子邮件、密码)。

收到的错误:

警告:mysql_connect():第 2 行 /home4/ablev3/public_html/connect.php 中用户 'root'@'localhost' 的访问被拒绝(使用密码:否)

用户 'root'@'localhost' 的数据库连接失败访问被拒绝(使用密码:否)


这是我的 connect.php 文件的代码:-

<?php
$connection = mysql_connect('localhost', 'root', '');
if (!$connection)
    die("Database Connection Failed" . mysql_error());

$select_db = mysql_select_db('ablev3_test');
if (!$select_db)
    die("Database Selection Failed" . mysql_error());

当我将文件上传到 hostgator 共享服务器时,我应该保留什么而不是 'localhost' 和 'root'?好像我得到了错误。 谢谢。

将不胜感激。


##Attempt 2##

我按以下顺序尝试了建议,仍未解决,我做错了什么?请看下面:

    我新建了一个数据库 创建并添加了一个新用户并为该数据库设置了新密码 将用户链接到数据库 将“root”更改为我的数据库用户名 已将 '' 更改为我的数据库密码

现在我得到的错误(输入域名时)如下所示:

警告:session_start():无法发送会话缓存限制器 - 标头 已发送(输出开始于 /home4/ablev3/public_html/index.php:1) 在 /home4/ablev3/public_html/index.php 第 2 行

我的connect.php代码,修改后:-

<?php
$connection = mysql_connect('localhost', 'MyDatabaseUsername', 'MyDatabasePassword');
if (!$connection)
    die("Database Connection Failed" . mysql_error());

$select_db = mysql_select_db('NameOfMyNewDatabase');
if (!$select_db)
    die("Database Selection Failed" . mysql_error());

修改后我的 index.php 代码:-

 <?php 
session_start();
require('connect.php');
//3. If the form is submitted or not.
//3.1 If the form is submitted
if (isset($_POST['username']) and isset($_POST['password']))
//3.1.1 Assigning posted values to variables.
$username = $_POST['username'];
$password = $_POST['password'];
//3.1.2 Checking the values are existing in the database or not
$query = "SELECT * FROM `tableOTA` WHERE username='$username' and password='$password'";
$result = mysql_query($query) or die(mysql_error());
$count = mysql_num_rows($result);
//3.1.2 If the posted values are equal to the database values, then session will be created for the user.
if ($count == 1)
$_SESSION['username'] = $username;
else
//3.1.3 If the login credentials doesn't match, he will be shown with an error message.
echo "Invalid Login Credentials.";


//3.1.4 if the user is logged in Greets the user with message
if (isset($_SESSION['username']))
header( 'Location:introduction.php' );
$username = $_SESSION['username'];
echo "Hai " . $username . "";
echo "This is the Members Area";
echo "<a href='logout.php'>Logout</a>";
else
//3.2 When the user visits the page first time, simple login form will be displayed.
?>
<!DOCTYPE html>
<html>
 <head>

<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <!-- Form for logging in the users -->
  >     <div class="register-form"> 

..............
..........
.........

我做错了什么?如何纠正这个错误?

【问题讨论】:

你真的认为hostgator会给你超级用户级别的访问共享mysql实例吗?您必须更新您的代码才能使用他们提供的凭据/主机,而不是相反。 如果可以的话,你应该stop using mysql_* functions。它们不再被维护并且是officially deprecated。改为了解 prepared statements,并考虑使用 PDO,it's really not hard。 请不要在您的标题中添加“未解决”之类的标签。它们很吵而且没有必要。 好的。我是新来的,所以.. 【参考方案1】:

可能是您使用的用户名或密码在 php 代码中是错误的。

对于 Hostgator:

mysql 管理员用户名是 hostgator 为您的 hostgator 帐户提供给您的用户名。

可以在 Plesk 中的 Server>Database Servers 下更改 mysql 密码(我假设初始密码是 hostgator 为您的 hostgator 帐户提供的密码,但在更改密码之前我从未登录过)。

尝试 2

移动 session_start();始终位于页面顶部。在 session_start() 之前应该没有代码(php/html/anything)。并添加@ob_start();在会话开始之前。

               <?php
                  @ob_start();
                  session_start();
               ?>

【讨论】:

我说对了,现在出现了一个新错误。请参阅上面的第 2 部分(问题中) 移动 session_start();始终位于页面顶部。 &lt;?php @ob_start(); session_start(); ?&gt;【参考方案2】:

首先,您需要通过登录服务器上的 Cpanel 来创建数据库,并将数据传输到新数据库。这些是以下步骤

    登录您的 cPanel 单击下面的 MySQL 数据库向导 数据库标题 在新数据库旁边输入您的名称 数据库,然后单击下一步 在用户名旁边输入用户名。 在密码旁边输入密码,再次输入密码 (再次)然后单击创建用户 在下一页上,您将分配 用户对数据库的权限。选中全部旁边的框 权限,然后单击下一步。 你还记得这些 数据库、用户名和密码的详细信息,并将它们添加到 你编码在

$connection = mysql_connect('localhost', 'User Name', 'Password');

if (!$connection)

    die("Database Connection Failed" . mysql_error());



$select_db = mysql_select_db('New Database');
    然后在CPanel上打开PHPMYADMIN,通过导入sql文件将所有数据传输到服务器上的新数据库中。

【讨论】:

我做到了@Chandu,它仍然没有解决。请查看我对上面问题的更新,我在其中添加了代码和在进行您建议的更改后得到的错误。为什么我仍然收到这些错误?从那里做什么?【参考方案3】:

您需要做的是在 Cpanel 中设置数据库用户。

登录并查找此图标:

在那里您可以创建您的用户和密码。一旦你这样做了,在你的配置文件中使用它。

【讨论】:

我做到了@CodeGodie,它仍然没有解决。请查看我对上面问题的更新,我在其中添加了代码和在进行您建议的更改后得到的错误。为什么我仍然收到这些错误?从那里做什么? @Abie 那么为什么要投反对票?介意解释一下吗?也许我可以解释得更好。你能解决你的问题吗? 我没有给你投反对票。别人做了。以我目前的声誉点数(11),我不能拒绝或支持任何人。如果您认为这是一个相关的问题,请给它投票。还在努力解决。感谢您的意见。

以上是关于如何配置和传输 MySQL(使用登录凭据)从 XAMPP 本地网络服务器到基于 Hostgator/Linux 的托管服务器?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何在 MySQL 数据库中存储 ftp 登录凭据?

如何使用 mysql 验证烧瓶/python 中的凭据?

Symfony 4,登录,如何调试错误“无效凭据”?

如何将图像从一个图片框传输到另一个图片框? VB.NET 和 SQL

如何从 perl 脚本登录 OBIEE 服务器凭据 [关闭]

Jenkins - git使用Git插件请求登录凭据