Yii2通过SSH端口33060连接MySQL数据库

5

我在通过ssh连接到33060端口的mysql数据库时遇到了问题,我的配置如下:

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=myDatabase',
'emulatePrepare' =>true,
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
];

当我尝试连接时,我已经打开了ssh隧道,但是出现了以下错误:

SQLSTATE[28000] [1045] Access denied for user 'user'@'localhost' (using password: YES)

我做错了什么?在Yii2中是否可以通过ssh连接?

谢谢答复!


您输入的用户名或密码可能是错误的。 - mohit
用户名和密码正确。 - Este
3个回答

10

我解决了这个问题... :

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;port=33060;dbname=myDatabase',
'emulatePrepare' =>true,
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
 ];

必须是 127.0.0.1 而不是 localhost。 感谢所有的回答!!:)


2
我猜您遇到的主要问题可能是您没有指定端口:

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;port=33060;dbname=myDatabase',
'emulatePrepare' =>true,
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
];

我猜你是想说的是 33060 而不是 3306。

我尝试使用此端口配置,但没有成功。我的隧道是:ssh -L 33060:localhost:3306 ubuntu@serverAddress.pl - Este

0

抱歉我的英文不好!

虽然在本地主机上出现这个错误很奇怪,但请尝试在MySQL中进行授权:

GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_pass';

我不知道,我在Yii1中没有这个问题,在Yii1中,所有配置都正常工作...这个问题只出现在yii2中。 - Este

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接