方法:在一般的SQL語句前加上explain;
分析結果的含義:
1)table:表名;
2)type:連接配接的類型,(ALL/Range/Ref)。其中ref是最理想的;
3)possible_keys:查詢可以利用的索引名;
4)key:實際使用的索引;
5)key_len:索引中被使用部分的長度(位元組);
6)ref:顯示列名字或者"const"(不明白什麼意思);
7)rows:顯示MySQL認為在找到正确結果之前必須掃描的行數;
8)extra:MySQL的建議;
"
show processlist;列出每一筆聯機的資訊。
show variables;列出mysql的系統設定。
show tables from db_name;列出db_name中所有資料表;
show [full] columns from table_name;列出table_name中完整資訊,如欄名、類型,包括字元集編碼。
show index from table_name; 列出table_name中所有的索引。
show table status;;列出目前資料庫中資料表的資訊。
show table status from db_name;;列出目前db_name中資料表的資訊。
alter table table_name engine innodb|myisam|memory ;更改表類型
explain table_name / describe table_name ; 列出table_name完整資訊,如欄名、類型。
show create table table_name 顯示目前表的建表語句
alter table table_name add primary key (picid) ; 向表中增加一個主鍵
alter table table_name add column userid int after picid 修改表結構增加一個新的字段
alter table table_name character set gb2312 改變表的編碼
select user(); 顯示目前使用者。
select password(’root’); 顯示目前使用者密碼
select now(); 顯示目前日期
flush privileges 在不重新開機的情況下重新整理使用者權限
mysqld –default-character-set=gb2312 ;設定預設字元集為gb2312 "
1
"MyISAM 存儲引擎( 非事物存儲引擎 ):所有資料都存放在 Mysql 配置中所設定的 Datadir 目錄下。
MyISAM 存儲引擎除了備份 Mysql 系統共有的實體檔案外,有三個檔案需要備份,記錄表結構中繼資料的 .frm 檔案、存儲表資料的 .MYD 檔案、存儲索引資料的 .MYI 檔案。
2、Innodb 存儲引擎( 事務性存儲引擎 ):存放資料的位置取決于對 Innodb 的相關配置。
決定 Innodb 存放資料位置的參數:Innodb_data_home_dir 、Innodb_data_file_path 、Innodb_log_group_home_dir( 指定了資料和日志檔案存放的位置 )
決定 Innodb 表空間存儲方式參數:Innodb_file_per_table( 決定 Innodb 是以共享表空間還是獨享表空間存儲資料 )
如果使用共享表空間存儲方式,Innodb 需要備份 Innodb_data_home_dir 和 Innodb_data_file_path 所設定的資料檔案及 Datadir 中相應的資料目錄下的所有 Innodb 存儲引擎表的 .frm 檔案。
如果使用獨享表空間存儲方式,除了備份上面所有檔案外,還要備份 Datadir 中相應資料目錄下的所有 .idb 檔案( 該檔案中存放的才是獨享表空間方式下 Innodb 存儲引擎表的資料 )。
## 使用獨享表空間時,資料并不是全部放在 Datadir 下資料庫目錄下的 .ibd 檔案中,這裡存放的隻是表資料而以。
## Innodb 是事務存儲引擎,它的 undo 和 redo 資訊,不管是使用獨享還是共享表空間存儲資料,與事務相關的 undo 資訊以及其它一些中繼資料資訊,
## 都是存放在 Innodb_data_home_dir 和 Innodb_data_file_path 這兩個參數所設定的資料檔案中的。是以這兩個目錄下的資料檔案不管什麼情況( 實體備份 )都必須備份。
Innodb 還有自己存放 redo 資訊和相關事務資訊的日志檔案在 Innodb_log_group_home_dir 參數所設定的位置,這裡的所有日志檔案也必須備份。"