紅聯Linux門戶
Linux幫助

馬哥linux分享之捕捉mysql中不可忽視的知識點

發布時間:2014-08-25 17:50:07來源:紅聯作者:小小295813080
http://www.magedu.com/

一、mysql命令的分類
mysql命令可分為客戶端命令和服務器端命令兩類:
1)客戶端命令
\c:提前終止結束語句
\g:無論語句結束符是什么,直接將此語句送至服務器端執行;
\G:無論語句結束符是什么,直接將此句送到服務器端執行,而且結果以豎排方式顯示;
\! COMMAND:執行shell命令
\W:語句執行結束后顯示警告信息;
\#:對新建的對象,支持補全功能;
\r:重新連接到服務器上來
補充:mysql客戶端命令里提到的還有 mysqldump(備份工具), mysqlimport(導入工具),mysqlcheck
2)服務器端命令:
mysqld
mysql_multi: 支持多實例的
mysql_safe: 支持安全線程的
mysqlbinlog: 查看mysql的二進制工具
mysqlhotcopy:mysql的備份工具
服務器語句有語句結束符,默認為分號
\d: 定義語句結束符(delimiter定義語句結束符)
//:語句結束符
eg:show database // 若想換回來使用\d
所有服務器語句只有執行客戶端才能進行,而客戶端不需要語句結束符;
服務器端命令如何獲取幫助?
help COMMAND :獲取幫助信息
help command index:獲取索引幫助信息 (要想獲得進一步的幫助信息,可以把執行help command index后顯示的URL后的鏈接復制下來貼到瀏覽器內還能獲取到官方文檔)
二、mysqladmin命令的使用:
1)簡介:mysqladmin用來執行管理命令的專用命令,也是一個客戶端命令,通過客戶端連接到服務器端去管理命令,mysqladmin很獨特,它是一個具有許多子命令的命令
2)用法: mysqladmin [option] command [arg] [command [arg]]...
mysqladmin -uroot -p password 'NEW_PASS' 為用戶設定密碼的
3)常用命令:
processlist 進程列表,可以列出服務器上正在執行所有進程列表
status 查看mysql的狀態
--sleep N: 顯示頻率
--count N:顯示多個狀態
eg:mysqladmin status --sleep 2 mysql兩秒鐘顯示一次
eg:mysqladmin status --sleep 2 --count 2 mysql兩秒鐘顯示1次顯示2次
extended-status :顯示狀態變量
varitables: 顯示服務器變量
flush-privileges: 讓mysqld重讀授權表,等同于reload;
flush-status:重置大多數的服務器的狀態變量
flush-tables;關閉打開的所有的表
flush-threads: 重置線程池的,或線程緩存
flush-logs: 二進制和中繼日志滾動
flush-hosts: 刷新主機,清除主機的內部信息
kill :殺死一個線程的
refresh: 相當于同時執行flush-hosts和flush-logs同時執行
shutdown: 關閉mysql服務器進程,可停止mysql服務器
version: 服務器版本及當前狀態信息
start-slave:啟動復制,啟動從服務器復制線程(復制的線程包括兩個SQL thread和IO thread)
stop-slave:關閉復制,停止復制線程;
三、存儲引擎
1)存儲引擎的概念:存儲引擎從某種意義上講叫表類型,每一個表都可以自由的獨立的選擇一種存儲引擎,存儲引擎不是數據庫之間的概念而是表之間的的概念,同一個數據庫中的多張表完全可以使用不同的存儲引擎,也就意味著底層的存儲機制是各不相同的。
2)存儲引擎主要包括MyISAM和InnoDB
MyISAM存儲引擎,也被稱為表類型)無事務,表鎖;每個表三個文件分別如下:
.form:表結構定義文件
.MYD:表數據定義文件
.MYI:表索引定義文件
InnoDB:事務,行鎖;所有表共享一個表空間文件(建議:每表一個獨立的表空間文件;)
.form: 表結構
.ibd: 表空間(里面存儲了表數據和表索引)
3)show engines:可以顯示當前服務器所支持的所有引擎,
show table status [like ...] 顯示一張表的狀態信息
eg:show table status like 'use'; 顯示use表的狀態信息
eg:show table status like 'use'\G 查看use表的屬性信息,并豎排顯示
四、mysql的數據類型(MySqL data types )相關的知識點
1、mysql的數據類型:
1)數值型
精確數值
int
decimal 十進制
近似數值
float
double
real 實數
2)字符型
定長:char(#)、binary
變長:varchar(#)、varbinary
text,blob(大字符,text不區分大小寫,blob區分大小寫)
enum,set (內置類型)
3)日期時間型
data,time,datatime,timestamp
2、數據類型的意義:
1)存入的值類型
2)占據的存儲空間
3)定長和變長
4)如何比較及排序
5)是否能夠創建索引
2、數值類型:
int 整型
tinyint (微整型) 有符號時是0-255,無符號時是-128-127
smallint (小整型)
mediumint(中整型)
int (整型)
bigint (大整型)
decimal:定點數值
float:單精度浮點值 4bytes
double:雙精度浮點值 8bytes
bit:按位存儲
3、字符串數據類型:
char 字符型最多只能存儲255個字符 定長
varchar 最大只能存儲65535個字符 變長(不區分字符大小寫)
binary 定長
varbinary 變長 (區分字符大小寫)
tinyblob 微型blob 255字節(二進制的大對象,它們是字節字符串區分字符大小寫)
blob 標準blob 64kb
mediumblob 中級blob 16Mb
longblob 長blob 4Gb
tinytext 微型text(不區分字符大小寫)最多只能存儲255個字符
text 標準text 最多只能存儲65535個字符
mediumtext 中級text 最多只能存儲16777215個字符
longtext 長text 最多只能存儲4294967235個字符
enum 枚舉型 最多只能存儲65535
set 集合 1-64
4、日期時間型:
data 3 bytes
time 3 bytes
datatime 8 bytes
timestamp 4 bytes
year 1 bytes
5、字符串類型的修飾手段:
not null 不允許為空
null 可以為空
default 指定默認值
binary 不區分字符大小
show characher sets; 顯示當前字符型數據庫字符集
show collation; 顯示當前字符型數據庫所支持的排序規則
show global varables like '%char%';
select database(); 表示執行一個函數(一個內置的函數)
select last_insert_id();
auto_increment 自動增長(整型 非空 無符號)
eg: create table test(id int unsigned auto_increment not null primary key,Name char(20))
unsigned 無符號
cerate table test(id int unsigned
補充:
1、mysql還有一個特點就是支持名稱補全
名稱補全:打開數據庫時必須將每一個數據庫的名稱和每一個表的名稱每一個字段的名稱都要載入內存當中來,這可能會導致我們在連接到mysql上時有大量的延遲,因為它必需要遍歷每一個數據庫的每一個表的定義,這是非常慢的。
--html :可以讓數據庫顯示為html格式
2、鍵和索引
1)鍵也被稱為是約束,可用作索引,屬于特殊索引(有特殊限定,比如數值不相同):它們存儲下來都是B+Tree的結構。
2)索引是關系數據庫的內部實現技術,屬于內模式的范疇 ,create index語句定義索引時,可以定義索引是唯一索引、非唯一索引或聚簇索引
3)索引有兩種類型:
b+tree:具有動態平衡的優點
hash:具有查找速度快的特點
幾乎所有的字段都支持b+tree索引,但并非所有的字段都支持hash索引。
4)創建索引的原則:
(1)對較大的表才建立索引(約5000條記錄以上),并檢索的數據少于總行數的2%到4%
(2)一個表可建立任意多個索引,但不能太多,會增加系統維護的開銷,索引建立后由系統維護。
(3)經常出現在where子句或聯接條件中的列上作為索引關鍵字
(4)索引關鍵字可以是一個列,也可以是多個列組合成的復合索引。如果是復合索引,則查詢條件中含有主關鍵字時,系統使用索引,加快查詢速度。如果查詢條件中只含有次關鍵字,則系統不使用索引。
文章評論

共有 0 條評論

贵州体彩11选5查询号码 宁夏11选5平台 河北体彩11选五怎么玩 排列5缩水 app 福建11选5官网 买福利彩票怎么样才能中奖 上证指数什么股票指数 11选5中奖助手更新版 广东快乐12开奖结果图 云南11选5基本走势 时时彩最快开奖软件