我正在尝试使用Yii framework
是否有任何特定设置,因为我无法连接到数据库。
'db' => array(
'class' => 'PortalDbConnection',
'connectionString' => 'mysql:host=192.168.0.2;dbname=mydb',
'username' => 'root',
'password' => '',
'tablePrefix' => '',
'emulatePrepare' => true,
'enableParamLogging' => true,
'enableProfiling' => true,
'charset' => 'utf8',
),
错误
2013/10/16 09:14:22 [错误] [exception.CDbException] SQLSTATE [HY000]
[2003]无法连接到'mysql5.ms.domain.net'上的MySQL服务器(13)
2013/10/16 09:14:22 [info] [application]用户:Guest(ID :)
答案 0 :(得分:3)
此代码对我有效:
'db'=>array(
'connectionString' => 'mysql:host=192.168.1.96;dbname=dbname',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'enableProfiling'=>true,
'enableParamLogging' => true,
),
远程?
数据库服务器<强>编辑:强>
配置远程访问:
该过程有两个步骤:
a) 授予权限。以root用户身份执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
b) 绑定到所有地址:
最简单的方法是在my.cnf文件中注释掉该行:
#bind-address = 127.0.0.1
并重启mysql
service mysql restart
@hovanessyan解决方案:MySQL root access from all hosts
答案 1 :(得分:2)
这是服务器访问的问题,而不是用户访问。检查mysql服务器的端口号(必须是3306,否则使用mysql:host=192.168.0.2;port=<your port>;dbname=mydb
)并尝试ping 192.168.0.2
(或者可以运行此nmap -p 3306 -sT 192.168.0.2
,来自here)从yii放置的地方