thinkphp mysql 密码加密_thinkphp框架实现mysql读写分离
基于thinkphp3.2.3,官方手冊:http://www.kancloud.cn/manual/thinkphp/1733
注意事項:
1、首先得配置好mysql主從,可以多主多從
2、在讀寫分離的情況下,默認第一個數據庫配置是主服務器的配置信息,負責寫入數據,如果設置了DB_MASTER_NUM參數,則可以支持多個主服務器寫入。其它的都是從數據庫的配置信息,負責讀取數據,數量不限制。每次連接從服務器并且進行讀取操作的時候,系統會隨機進行在從服務器中選擇
3、調用模型的CURD操作的話,系統會自動判斷當前執行的方法的讀操作還是寫操作,如果你用的是原生SQL,那么需要注意系統的默認規則: 寫操作必須用模型的execute方法,讀操作必須用模型的query方法,否則會發生主從讀寫錯亂的情況
config.php
return array(
//'配置項'=>'配置值'
'DB_DEPLOY_TYPE'=> 1, // 設置分布式數據庫支持
'DB_TYPE' => 'mysql', //分布式數據庫類型必須相同
'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("數據添加成功") ;
}else {
//$this->error("數據添加失敗");
}
}
}
測試:
先調用index.php?s=/Home/Index/add 插入數據然后訪問index.php打印查詢結果,如果要驗證是否插入是否走的master庫,把配置文件slave數據庫密碼故意改錯看下效果,同理查詢也是
線上的tp讀寫分離已經運行挺久了
總結
以上是生活随笔為你收集整理的thinkphp mysql 密码加密_thinkphp框架实现mysql读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎样判断一个文件是否存在_p
- 下一篇: “雨馀蝉声歇”下一句是什么