请问如果我连接数据库需要socket怎么设置

请问怎么在main.php中设置?




'db'=>array(

            'class'=>'CDbConnection',

			'connectionString' => 'mysql:host=192.168.0.1;dbname=db;',

			'emulatePrepare' => true,

			'username' => 'root',

			'password' => 'root',

			'charset' => 'utf8',

		),






'db'=>array(

            'class'=>'CDbConnection',

            'connectionString' => 'mysql:host=localhost;dbname=db;unix_socket=/tmp/mysql.sock;',

	    'emulatePrepare' => true,

	    'username' => 'root',

	    'password' => 'root',

	    'charset' => 'utf8',

		),



请问一下在main.php里面设置不行。不能直接调用Yii::app()->db;

提示:CDbConnection 无法开启数据库连线: SQLSTATE[00000] [1130] Host ‘192.168.0.48’ is not allowed to connect to this MySQL server




$dsn = 'mysql:host=localhost;dbname=db;unix_socket=/tmp/mysql.sock;';

$connection=new CDbConnection($dsn,"root","root");



这样倒是可以,可是要在每个控制器里这么干很累啊

俺最近在开发一个7个数据库的项目

也要在不同的 module 下 model 里面覆写 getDbConnection() 方法

因为主库只能有一个

强哥能不能想办法做个映射:将 n 个数据库映射给 app 时是一个 db 对象,内部自动区分不同的 db ?