- 11月 06 週二 201222:31
MySQL MySQL 5.1參考手冊
- 11月 06 週二 201221:53
mysql table 更名
mysql table 更名
1. alter table aa rename bb;
2.RENAME TABLE old_table TO backup_table, new_table TO old_table;
1. alter table aa rename bb;
2.RENAME TABLE old_table TO backup_table, new_table TO old_table;
- 11月 06 週二 201202:20
MySQL Slave_SQL_Running NO的解決方式
MySQL Slave要確定是否正在運作,在執行【mysql>show slave status;】時,底下2個必須為Yes
Slave_IO_Running: Yes
Slave_SQL_Running:Yes
但是,如果Slave_SQL_Running為NO時,要怎麼解決呢?
Slave_SQL_Running:NO 的解決方式1:
Slave_IO_Running: Yes
Slave_SQL_Running:Yes
但是,如果Slave_SQL_Running為NO時,要怎麼解決呢?
Slave_SQL_Running:NO 的解決方式1:
- 11月 06 週二 201202:20
mysql 如何計算開啟的檔案數(open file)
看看打开了几个文件
lsof | grep /home/mysql
...
mysqld 24349 mysql 5u unix 0x000001041e8de040 4244009 /home/mysql/mysql.sock
mysqld 24349 mysql 6u REG 8,33 2048 30425188 /home/mysql/mysql/host.MYI
mysqld 24349 mysql 7u REG 8,33 0 30425189 /home/mysql/mysql/host.MYD
mysqld 24349 mysql 8u REG 8,33 2048 30425153 /home/mysql/mysql/user.MYI
mysqld 24349 mysql 9u REG 8,33 892 30425155 /home/mysql/mysql/user.MYD
mysqld 24349 mysql 10u REG 8,33 5120 30425126 /home/mysql/mysql/db.MYI
mysqld 24349 mysql 11u REG 8,33 3080 30425148 /home/mysql/mysql/db.MYD
mysqld 24349 mysql 12u REG 8,33 4096 30425154 /home/mysql/mysql/tables_priv.MYI
mysqld 24349 mysql 13u REG 8,33 0 30425157 /home/mysql/mysql/tables_priv.MYD
mysqld 24349 mysql 14u REG 8,33 4096 30425143 /home/mysql/mysql/columns_priv.MYI
mysqld 24349 mysql 15u REG 8,33 0 30425156 /home/mysql/mysql/columns_priv.MYD
mysqld 24349 mysql 16u REG 8,33 4096 30425127 /home/mysql/mysql/procs_priv.MYI
mysqld 24349 mysql 17u REG 8,33 0 30425136 /home/mysql/mysql/procs_priv.MYD
mysqld 24349 mysql 18u REG 8,33 1024 30425173 /home/mysql/mysql/servers.MYI
mysqld 24349 mysql 19u REG 8,33 0 30425174 /home/mysql/mysql/servers.MYD
mysqld 24349 mysql 20u REG 8,33 2048 30425182 /home/mysql/mysql/event.MYI
mysqld 24349 mysql 21u REG 8,33 0 30425183 /home/mysql/mysql/event.MYD
...
- 11月 06 週二 201202:18
mysql proxy讀寫分流(二)-加入RW splitting
- 11月 06 週二 201202:17
mysql proxy讀寫分流(一)-mysql proxy的安裝方式

主要是將讀寫分開,讓MySQL Proxy自動判斷來源的指令中是讀取(SELECT)還是寫入(ADD、UPDATE、DELETE),然後再將寫入的動作移至Master主機,讀取的動作平均移至多台的Slave主機。
當然,如果你的程式中已經將讀取跟寫入的動作已經自動分配至各個不同的mysql,那麼你就可以忽略本篇文章。
MySQL Proxy整體架構的概念圖如下:
- 11月 06 週二 201202:15
mysql 各種binlog_format優缺點比較
MySQL 5.1 中,在復制(Replication)方面的改進就是引進了新的複制技術:基於行的複制。 簡言之,這種新技術就是關注表中發生變化的記錄,而非以前的照抄 binlog 模式。 從 MySQL 5.1.12 開始,可以用以下三種模式來實現:基於SQL語句的複制(statement-based replication, SBR),基於行的複制(row-based replication, RBR),混合模式複制(mixed-based replication, MBR)。 相應地,binlog的格式也有三種:STATEMENT,ROW,MIXED。MBR 模式中,SBR 模式是默認的。
在運行時可以動態低改變binlog的格式,除了以下幾種情況:
1. 存儲過程或者觸發器中間
2. 啟用了NDB
在運行時可以動態低改變binlog的格式,除了以下幾種情況:
1. 存儲過程或者觸發器中間
2. 啟用了NDB
- 11月 06 週二 201202:13
mysql(my.cnf)設定檔說明
#BEGIN CONFIG INFO
#DESCR: 4GB RAM,只使用InnoDB, ACID,少量的連接,隊列負載大
#TYPE: SYSTEM
#END CONFIG INFO
#
#此mysql配置文件例子針對4G內存
#主要使用INNODB
#處理複雜隊列並且連接數量較少的mysql服務器
#
#將此文件複製到/etc/my.cnf 作為全局設置,
# mysql-data-dir/my.cnf 作為服務器指定設置
# (@localstatedir@ for this installation) 或者放入
# ~/.my.cnf 作為用戶設置.
#
# 在此配置文件中, 你可以使用所有程序支持的長選項.
# 如果想獲悉程序支持的所有選項
#請在程序後加上』–help』參數運行程序.
#
# 關於獨立選項更多的細節信息可以在手冊內找到
#
#DESCR: 4GB RAM,只使用InnoDB, ACID,少量的連接,隊列負載大
#TYPE: SYSTEM
#END CONFIG INFO
#
#此mysql配置文件例子針對4G內存
#主要使用INNODB
#處理複雜隊列並且連接數量較少的mysql服務器
#
#將此文件複製到/etc/my.cnf 作為全局設置,
# mysql-data-dir/my.cnf 作為服務器指定設置
# (@localstatedir@ for this installation) 或者放入
# ~/.my.cnf 作為用戶設置.
#
# 在此配置文件中, 你可以使用所有程序支持的長選項.
# 如果想獲悉程序支持的所有選項
#請在程序後加上』–help』參數運行程序.
#
# 關於獨立選項更多的細節信息可以在手冊內找到
#
- 11月 06 週二 201202:13
MySQL Replication(Master Slave負載平衡)

網路上有很多人提供MySQL的負載方式,例如:Master Slave架構、MySQL MMM架構、DRBD、Cluster、HeartBeat…等一堆MySQL負載平衡的架構,一直MySQL負載平衡的架構,到底要選擇那一個方式才是最好的?
丫忠認為符合自己個人(公司)需求的架構最好,再來是穩定及簡單好維護;如果只是單純的公司形象網站或者是一般個人的Blog,總不能想著要架構Master + Slave,外加MySQL Proxy做讀寫分流,再替Master做個HeartBeat的備援,再後再加幾台memcached來加快搜尋速度….等,如果只是為了測試架構倒是可以玩一玩,如果是要用在運作中的主機的話,那丫忠勸您要3思 再3思了,不要搞到後來出問題時找不到問題,或者資料不一致時,到時候拜再多的神也沒用囉…
講了一堆哩哩扣扣都還沒進入主題,MySQL 的M/S架構(Master Slave)是負載平衡中最基礎的架構,也就是很多的架構都是從此延伸出去,這也是丫忠認為最簡單的架構之一了。如果可以閱讀英文的網友可以直接參考MySQL官網的資料 http://dev.mysql.com/doc/refman/5.0/en/replication.html
- 11月 06 週二 201202:10
mysql(my.cnf)設定檔說明(二)
MySQL資料庫5.0的my.cnf配置選項概述:
mysqld程序–目錄和文件
basedir = path 使用給定目錄作為根目錄(安裝目錄)。
character-sets-dir = path 給出存放著字符集的目錄。
datadir = path 從給定目錄讀取資料庫文件。
pid-file = filename 為mysqld程序指定一個存放進程ID的文件(僅適用於UNIX/Linux系統)
Init-V腳本需要使用這個文件裡的進程ID結束mysqld進程。
socket = filename 為MySQL客戶程序與服務器之間的本地通信指定一個套接字文件
(僅適用於UNIX/Linux系統; 默認設置一般是/var/lib/mysql/mysql.sock文件)。
在Windows環境下,如果MySQL客戶與服務器是通過命名管道進行通信的,–sock選項給出的將是該命名管道的名字(默認設置是MySQL)。
lower_case_table_name = 1/0 新目錄和資料表的名字是否只允許使用小寫字母; 這個選項在Windows環境下的默認設置是1(只允許使用小寫字母)。
mysqld程序–目錄和文件
basedir = path 使用給定目錄作為根目錄(安裝目錄)。
character-sets-dir = path 給出存放著字符集的目錄。
datadir = path 從給定目錄讀取資料庫文件。
pid-file = filename 為mysqld程序指定一個存放進程ID的文件(僅適用於UNIX/Linux系統)
Init-V腳本需要使用這個文件裡的進程ID結束mysqld進程。
socket = filename 為MySQL客戶程序與服務器之間的本地通信指定一個套接字文件
(僅適用於UNIX/Linux系統; 默認設置一般是/var/lib/mysql/mysql.sock文件)。
在Windows環境下,如果MySQL客戶與服務器是通過命名管道進行通信的,–sock選項給出的將是該命名管道的名字(默認設置是MySQL)。
lower_case_table_name = 1/0 新目錄和資料表的名字是否只允許使用小寫字母; 這個選項在Windows環境下的默認設置是1(只允許使用小寫字母)。

