php項目實現讀寫分離


環境介紹

thinkphp6+mysql8+cnetos8
1,已配置好的主從復制數據庫,詳情請了解
https://www.cnblogs.com/stronger-xsw/p/12785384.html

2,打開thinkphp項目下config目錄配置文件database.php文件
tp6項目具體配置如下

return [
// 默認使用的數據庫連接配置
'default'         => 'mysql',

// 自定義時間查詢規則
'time_query_rule' => [],

// 自動寫入時間戳字段
// true為自動識別類型 false關閉
// 字符串則明確指定時間字段類型 支持 int timestamp datetime date
'auto_timestamp'  => true,

// 時間字段取出后的默認時間格式
'datetime_format' => 'Y-m-d H:i:s',

// 數據庫連接配置信息
'connections'     => [
    'mysql' => [
        // 數據庫類型
        'type'              => 'mysql',
        // 服務器地址
        'hostname'          =>'192.168.110.131,192.168.110.132,192.168.110.133',//第一台為主服務器,后面兩台從服務器
        // 數據庫名
        'database'          => 'mydb',
        // 用戶名
        'username'          => 'root',//用戶名全部一樣可以這樣寫,只要有一個不同就分開寫
        // 密碼
        'password'          => '123456,12345678,123456',
        // 端口
        'hostport'          => '3306',
        // 數據庫連接參數
        'params'            => [],
        // 數據庫編碼默認采用utf8
        'charset'           =>'utf8',
        // 數據庫表前綴
        'prefix'            => '',

        // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)
        'deploy'            => 1,//1為開啟分布式
        // 數據庫讀寫是否分離 主從式有效
        'rw_separate'       => true,//是否開啟讀寫分離
        // 讀寫分離后 主服務器數量
        'master_num'        => 1,
        // 指定從服務器序號
        'slave_no'          => '',
        // 是否嚴格檢查字段是否存在
        'fields_strict'     => true,
        // 是否需要斷線重連
        'break_reconnect'   => false,
        // 監聽SQL
        'trigger_sql'       => env('app_debug', true),
        // 開啟字段緩存
        'fields_cache'      => false,
        // 字段緩存路徑
        'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
    ],

    // 更多的數據庫配置信息
],
];

3,詳情介紹參考tp6手冊
https://www.kancloud.cn/manual/thinkphp6_0/1037577


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM