最近在整理 Percona XtraDB Server 將 Read Write 全部拆開,寫入部份只開一台 Node,讀取機器 Replica 則是越多越好,當然如果預計 write 都不會有任何 conflict 的話,那就不用拆開,read write 都可以在同一台即可,拆開的目的要解決 Innodb transaction locking
問題。今天遇到的是將機器讀寫都放在同一台,然後同時多台 Master 架構,結果跑在 CodeIgniter 上面出現底下錯誤訊息
The MySQL server is running with the –read-only option so it cannot execute this statement
出現這問題的時候,第一時間去看一下
Percona cluster mysql 版本,發現不是踩到 read-only blocks SELECT statements in PXC 雷,這雷在 Percona XtraDB Cluster 5.5.33-23.7.6 被解掉了
Server version: 5.5.34-55-log Percona XtraDB Cluster (GPL), wsrep_25.9.r3928 後來查到原因是 MySQL User 權限不足,請將
SUPER Privilege
權限開啟。這樣 MySQL 使用者就可以忽略read_only = on
參數,執行 SQL Command。
GRANT SUPER ON *.* TO 'ustv'@'%'
See also
- [SQL] 如何從單一資料表取得每個 key 前 n 筆資料
- 在 Docker 偵測 MySQL 或 Postgres 是否啟動
- Laravel 50 個小技巧 + Laravel 5.2 新功能
- 優化 Percona XtraDB Cluster for write hotspots
- 在 Debian 安裝 Percona Xtradb Cluster 5.5.34 注意事項
- 免費下載 Percona MySQL eBooks
- OSDC 2014 Talk: Introduction to Percona XtraDB Cluster and HAProxy
- Percona Cloud Tools for MySQL 介紹及安裝
- Percona XtraDB Cluster 5.6 找合適 IST Donor
- MySQL 5.6 UUID 複製資料到 Slave Server