mysql分割槽部落格 mysql分割槽與備份

2021-10-17 15:22:43 字數 2986 閱讀 8413

一 分割槽 //range分割槽

建立分割槽表:

create table

test4(

id int not

null,

name

varchar(45),

datet date not

null

partition by

range(year(datet))//也可以寫成range(name)等

partition p2005

values less than (2005),

partition p2006

values less than (2006),

partition p2007

values less than (2007),

partition p2008

values less than (2008),

partition p2009

values less than (2009)

要主鍵,自增

create table

partit.test1(

testno int(10)

unsigned not null auto_increment,

description

varchar(45) default null,

testdate datetime not

null,

primary

key(testno,testdate)//分割槽表示式包含在主鍵中

partition by

range(month(testdate))

partition td5 values

less than(5),

partition td10 values

less than(10),

partition td13 values

less than(13)

//這樣可以顯示出資料所在的分割槽:

explain partitions select *

from test4;

//減:會把此分割槽中的資料丟掉

alter table test4 drop

partition p2008;

//加:只能向上增加(2010,2011……)

alter table test4 add

partition (partition p2010 values less than(2010));

//分:把p2005分成兩個

alter table test4 reorganize

partition p2005 into(

partition s2004 values less than (2004),

partition s2005 values less than (2005)

//合:可以把幾個合成乙個

alter table test4 reorganize

partition p2009,p2010 into (

partition s2010

values less than (2010)

//檢視表資訊

mysql> show

create table test.test4\g

list 分割槽

create table

partit.test2(

testno int(10)

unsigned not null auto_increment,

description

varchar(45) default null,

testdate datetime not

null,

primary

key(testno,testdate)

partition by

list(month(testdate))

partition quarter1

values in(1,5,9),

partition quarter2

values in(2,6),

partition quarter3

values in(3,7),

partition quarter4

values in(4,8)

二 完全備份:

用「開始」「執行」cmd 開啟mysql的安裝目錄:

備份資料庫:

mysqldump -u root -p test

>test1.txt;

密碼:000

備份乙個表:

mysqldump test -u root -p

test1>test1.txt

密碼:000

恢復:mysql -u root -p test

二進位制日誌備份:

開啟 bin log

預設只有錯誤日誌,沒有其他日誌.可以通過修改配置開啟bin log.

在my.ini中加上「log-bin」

二進位制日誌位置:

c:\documents and

5.1\data

//輸出文字:

mysqlbinlog

liujl-bin.000002>log.txt

//顯示文字

mysqlbinlog

liujl-bin.000002

//還原:

mysqlbinlog

--stop-date="2009-05-19 13:15:23" liujl-bin.000002 | mysql -u root

-penter password:

mysqlbinlog

--start-position="198" liujl-bin.000002 | mysql -u root

-pstop-date:結束時間

start-date:開始時間

stop-position:結束位置

start-position:開始位置

mysql 分表分割槽

一 分表 1 垂直分割 就是將乙個表按照欄位來分,每張表保證有相同的主鍵就好。一般來說,將常用字段和大字段分表來放。優勢 比沒有分表來說,提高了查詢速度,降低了查詢結果所用記憶體 劣勢 沒有解決大量記錄的問題,對於單錶來說隨著記錄增多,效能還是下降很快 2 水平分割 水平分割是企業最常用到的,水平拆...

mysql分表與分割槽

1 首先得確認mysql是否支援分割槽功能,這可以通過命令 show plugins 檢視如果顯示如下,則說明你的mysql版本支援partition 2 innodb一般用於具有事務和外來鍵的場合,它預設將所有的表資料和索引檔案放在乙個名為ibdata1的檔案中,屬於共享表空間。myisam預設每...

MySQL分割槽和分表

1.分割槽的型別 1 range 把連續區間按範圍劃分 例 create table user id int 11 money int 11 unsigned not null,date datetime partition by range year date partition p2014 va...