我在连接到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]用户'用户'@'localhost'拒绝访问(使用密码:是)
我做错了什么?有可能在Yii2连接抛出ssh吗?
感谢您的回答!
答案 0 :(得分:6)
我解决了这个问题...:
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。 谢谢你的答案!! :)
答案 1 :(得分:0)
我怀疑你的主要问题是你没有指定端口:
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;port=33060;dbname=myDatabase',
'emulatePrepare' =>true,
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
];
我认为你打算把33060放在3306而不是3306。
答案 2 :(得分:0)
抱歉英语不好!
虽然localhost中的这个错误很奇怪,但是尝试在MySQL中进行授权:
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_pass';