通常來講,各個網際網路公司的資料庫分為5個資料庫環境:
這些環境的機器,一定要做到許可權劃分明確,讀寫帳號分離,並且有辨識度,能區分具體業務。例如使用者名稱w_wap, r_wap 能看出來,讀寫帳號是wap應用的
開發規範本身也包含幾部分:基本命名和約束規範,字段設計規範,索引規範,使用規範等
規範存在意義
約束規範
create database test_crm default character set=utf8;
基本命名規範字段規範
索引規範
隱式轉換例子,字段定義為varchar,但傳入的值是個int,就會導致全表掃瞄,要求程式端要做好型別檢查
字段:remark varchar(50) not null
mysql>select id, gift_code from gift where deal_id = 640 and remark=115127;
1 row in set (0.14 sec)
mysql>select id, gift_code from pool_gift wheredeal_id = 640 and remark=『115127』;
1 row in set (0.005 sec)
sql類規範版本選擇
建議選擇優先順序為:mysql社群版 > percona server > mariadb > mysql 企業版
online ddl
原生mysql執行ddl時需要鎖表,且鎖表期間業務是無法寫入資料的,對服務影響很大,mysql對這方面的支援是比較差的
推薦使用pt-online-schema-change
使用pt-online-schema-change的優點有:
使用pt-online-schema-change的限制有:
mysql集群方案
優先推薦mha:可以採用一主多從,或者雙主多從的模式,這種模式下,可以採用mha或mmm來管理整個集群,最新的mha也已支援mysql 5.6的gtid模式了
mha的優勢很明顯:
不過mha也有些限制:
資料備份
建議方式:
主要做的幾點:
備份系統採用分布式檔案系統原因:
mysql一些規範
一.規範 1命名規範 使用小寫字母 下劃線分割 名字要和意義相關 欄位名最好不要超過32個字元,不能使用保留字 萬一使用 在sql語句中要用單引號把他包住 查詢關鍵字 4欄位設計規範 優先選擇符合儲存需求的最小資料型別 a.盡量把字串轉為數字型別儲存 如利用mysql函式inet aton把字串型別...
MySQL資料庫常使用的一些命令
一 資料庫連線 命令 mysql u使用者名稱 p密碼 mysql h伺服器 u使用者名稱 p密碼 mysql h伺服器 p埠 u使用者名稱 p密碼 d資料庫名 說明 連線到mysql資料庫伺服器,如果指定了 d資料庫 引數,會將指定的資料庫設為活動資料庫。例子 mysql hlocalhost p...
mySql資料庫的一些操作
mysql下讀取表中字段的說明和備註資訊 在mysql下執行完下面這個建表語句後。如何從資料字典中,檢索出這個表的字段的相關資訊?drop table if exists test table create table test table test id int not null auto inc...