原创 MySQL主從同步中的server-id

當我們搭建MySQL集羣時,自然需要完成數據庫的主從同步來保證數據一致性。而主從同步的方式也分很多種,一主多從、鏈式主從、多主多從,根據你的需要來進行設置。但只要你需要主從同步,就一定要注意server-id的配置,否則會出現主從複製異常。

原创 瞭解和使用MySQL服務啓動腳本

MySQL在類Unix系統上安裝時包含一個mysql.server啓動腳本,它通過mysqld_safe命令來啓動MySQL服務,但我們通常把這個啓動腳本重命名爲mysqld或者mysql。 這個啓動腳本在有些系統上安裝時被默認註冊,很方便

原创 MySQL的鎖和事務隔離級別

如今的互聯網,開發一個大型的多人APP,你一定離不開數據庫。而如何保證所有人能夠高併發的進行讀寫一直是一個高難度的架構問題,先刨去高併發,保證一致性讀寫這個問題最常用的手段是事務,而實現一個事務的關鍵點在於鎖機制。 今天我們就來介紹下Inn

原创 實時查看MySQL執行的語句

我們在追查MySQL問題和性能調優時,有時希望看到當前都有哪些命令正在被執行,讓我們迅速找到熱點命令。下面我們就來介紹下如何查看當前正在執行的MySQL語句。 日誌LOG 我們之前在 用service命令管理mysql啓停 文章中已經使用

原创 MySQL的複合數據類型:ENUM和SET

MySQL的常用數據類型包括:Number/Date/String,而String類型中又包含了Char/Varchar/Binary/blob/text等長度不同的簡單數據類型,有時我們需要對數據做更細緻的管理,比如枚舉和集合,就需要複合

原创 Git配置文件的常用參數解析

我們有時候在多平臺開發代碼或者批量修改了文件夾的權限時,使用git status命令你很有可能會看到一大片的文件變更記錄。其實不用擔心,這些只是權限變更的文件也會被顯示出來而已。如果你的工程目錄不用考慮文件的權限,那麼我們可以關閉這個特性:

原创 MySQL中InnoDB和MyISAM的存儲引擎區別

MySQL數據庫區別於其他數據庫的很重要的一個特點就是其插件式的表存儲引擎,其基於表,而不是數據庫。由於每個存儲引擎都有其特點,因此我們可以針對每一張表來挑選最合適的存儲引擎。 作爲DBA,我們應該深刻的認識存儲引擎。今天介紹兩種最常見的存

原创 實現簡單的監控腳本(Bash的執行和異常捕獲)

當我們需要監控服務運行狀態時,一般的策略是寫定時腳本,定時執行探測服務狀態,如果出現預期外情況,就報警。那麼第一步我們就需要學會寫一個監控腳本,這裏我們會講到bash的執行環境和異常捕獲,以及一些簡單的全局參數。 示例 先看一段shell代

原创 InnoDB引擎B+樹索引使用和新特性

我們已經講過了MySQL InnoDB索引原理和算法,這裏來說下如何管理和使用B+樹索引以及一些新的特性。 B+ 樹索引的管理 我們在InnoDB引擎中常用的索引基本都是B+ 樹索引。 創建和刪除索引 它的創建和刪除有兩種方法: # 方式

原创 MySQL InnoDB索引原理和算法

也許你經常用MySQL,也會經常用索引,但是對索引的原理和高級功能卻並不知道,我們在這裏一起學習下。 InnoDB存儲索引 在數據庫中,如果索引太多,應用程序的性能可能會受到影響;如果索引太少,又會對查詢性能產生影響。所以,我們要追求兩者

原创 mysql清空表數據的兩種方式和區別

在MySQL中刪除數據有兩種方式: truncate(截短)屬於粗暴型的清空 delete屬於精細化的刪除 刪除操作 如果你需要清空表裏的所有數據,下面兩種均可: delete from tablename; truncate ta

原创 linux curl請求時參數被截斷

當我在curl一個url時,發現在後端PHP環境使用xdebug時,只能捕獲第一個參數: curl test.baidu.com/oss/index.php?r=info/data/query&username=xxx&password=x

原创 運行shell腳本時進程數量變多

寫了一個很簡單的腳本,用於統計memcache進程的數量: #!/bin/bash echo `ps aux | grep memcache | grep -v grep | wc -l` 然而在執行時卻遇到了問題: [work@ oss_

原创 MySQL時間類型和模式

當我在MySQL數據庫中嘗試插入一條帶有時間戳的數據時報錯: mysql> insert into alarm_service values (6, '1970-01-01 08:00:00'); ERROR 1292 (22007):

原创 PHP的apc擴展導致引入文件錯誤

最近遇到一個非常奇怪的bug,在主機PHP代碼版本回退的過程中,導致備機服務不可用。經過各種復現和文檔查詢,發現是PHP的apc擴展在和rsync同時使用時,會導致無法正確的處理緩存文件,最終影響服務。解決方案官方也有提供,加上一行配置: