5

我在连接到 mysql 数据库时遇到问题,在端口 33060 上抛出 ssh,我的 conf :

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

我尝试连接时打开了 ssh Tunel,但出现错误:

SQLSTATE [28000] [1045] 用户'user'@'localhost'的访问被拒绝(使用密码:YES)

我究竟做错了什么?Yii2 可以连接 throws ssh 吗?

感谢您的回答!

4

3 回答 3

9

我正在解决这个问题......:

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。感谢所有答案!:)

于 2015-07-09T12:45:12.033 回答
2

我怀疑您的主要问题是您没有指定端口:

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

我假设您打算放置 33060 而不是 3306。

于 2015-07-09T12:23:50.090 回答
0

对不起英语不好!

尽管在 localhost 中出现此错误很奇怪,但请尝试在 MySQL 中进行授权:

GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_pass';
于 2015-07-09T12:34:21.773 回答