从VM连接到MySQL

时间:2013-11-12 01:07:28

标签: php mysql virtualbox

我无法从运行Ubuntu的Oracle VirtualBox连接到主机操作系统(Win 7)上的MySQL数据库。我写了这个PHP代码,以便连接,但我一直收到错误连接:

<?php
$dsn = 'mysql:host=192.168.1.9;dbname=finance';
$db_username = 'sdb_user';
$db_password = 'password';

try {
        $db = new PDO($dsn, $db_username, $db_password);
    }catch (PDOException $e) {
        $error_message = $e->getMessage();
        include('../errors/database_error.php');
        exit();
    }

     $query = 'SELECT * FROM books';
     $books = $db->query($query);

     foreach ($books as $book)  {
         echo $book['title'];
     }

?>

我知道代码有效,因为我可以使用localhost而不是IP地址从我的Windows 7主机操作系统运行它,我知道VirtualBox和Windows 7上的Linux都在同一个子网上,因为我可以成功从另一边ping另一个。

我很确定我在Windows端正确打开了端口3306,但我不知道如何检查是否存在这个问题。

我还应该做些什么才能让代码连接到MySQL数据库?

编辑:问题是端口未打开远程连接。打开端口后,我收到错误消息,指出我不允许连接到sql server。从那里我在Windows MySQL上创建了一个新用户,用户名为“home”,密码为“home”,并且可以使用以下命令连接到它:

$ mysql -h 192.168.1.9 -u home -p

然而,当我运行我的文件时,现在显示:

$dsn = 'mysql:host=192.168.1.9;dbname=finance';
$db_username = 'home';
$db_password = 'home';

我仍然得到'数据库错误' 有什么建议吗?

0 个答案:

没有答案