thinkphp mysql 密码加密_thinkphp框架实现mysql读写分离
基于thinkphp3.2.3,官方手冊:http://www.kancloud.cn/manual/thinkphp/1733
注意事項:
1、首先得配置好mysql主從,可以多主多從
2、在讀寫分離的情況下,默認(rèn)第一個數(shù)據(jù)庫配置是主服務(wù)器的配置信息,負(fù)責(zé)寫入數(shù)據(jù),如果設(shè)置了DB_MASTER_NUM參數(shù),則可以支持多個主服務(wù)器寫入。其它的都是從數(shù)據(jù)庫的配置信息,負(fù)責(zé)讀取數(shù)據(jù),數(shù)量不限制。每次連接從服務(wù)器并且進(jìn)行讀取操作的時候,系統(tǒng)會隨機(jī)進(jìn)行在從服務(wù)器中選擇
3、調(diào)用模型的CURD操作的話,系統(tǒng)會自動判斷當(dāng)前執(zhí)行的方法的讀操作還是寫操作,如果你用的是原生SQL,那么需要注意系統(tǒng)的默認(rèn)規(guī)則: 寫操作必須用模型的execute方法,讀操作必須用模型的query方法,否則會發(fā)生主從讀寫錯亂的情況
config.php
return array(
//'配置項'=>'配置值'
'DB_DEPLOY_TYPE'=> 1, // 設(shè)置分布式數(shù)據(jù)庫支持
'DB_TYPE' => 'mysql', //分布式數(shù)據(jù)庫類型必須相同
'DB_HOST' => '192.168.20.195,192.168.20.201',
'DB_NAME' => 'hadoop', //如果相同可以不用定義多個
'DB_USER' => 'open,open',
'DB_PWD' => '123456,123456',
'DB_PORT' => '3306',
'DB_PREFIX' => '',
);
IndexController.class.php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
//查詢 從庫
public function index(){
$obj=M("user");
$data=$obj->select();
print_r($data);exit;
}
//寫入 主庫
public function add() {
$obj=M("user");
$data["name"]="777";
if ($obj->add($data)) {
//$this->success("數(shù)據(jù)添加成功") ;
}else {
//$this->error("數(shù)據(jù)添加失敗");
}
}
}
測試:
先調(diào)用index.php?s=/Home/Index/add 插入數(shù)據(jù)然后訪問index.php打印查詢結(jié)果,如果要驗證是否插入是否走的master庫,把配置文件slave數(shù)據(jù)庫密碼故意改錯看下效果,同理查詢也是
線上的tp讀寫分離已經(jīng)運行挺久了
總結(jié)
以上是生活随笔為你收集整理的thinkphp mysql 密码加密_thinkphp框架实现mysql读写分离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎样判断一个文件是否存在_p
- 下一篇: java 运算符输入_java-运算符,