MySQL初识-架构-安装-初始化-连接-管理工具-数据文件
生活随笔
收集整理的這篇文章主要介紹了
MySQL初识-架构-安装-初始化-连接-管理工具-数据文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MySQL架構(gòu)和結(jié)構(gòu)分析
官方架構(gòu)圖
內(nèi)部組件結(jié)構(gòu)圖
MySQL安裝方式
MySQL初始化
MySQL工作模式及常用命令
交互式模式:mysql>
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 交互式模式下的客戶端命令 ???mysql> help?# 獲取命令幫助 ???mysql> \??# 同上 ???mysql> \c?# 取消命令執(zhí)行 ???mysql> \g?# 發(fā)送命令至服務(wù)器端 ???mysql> \G?# 發(fā)送命令至服務(wù)器端,垂直顯示結(jié)果 ???mysql> \q?# 退出 ???mysql> \!?# 執(zhí)行系統(tǒng)shell命令 ???mysql> \s?# 顯示服務(wù)器端狀態(tài)信息 ???mysql> \.?/path/to/mysql_script.sql?# 批量執(zhí)行sql ???mysql> \u?# 切換數(shù)據(jù)庫 # 交互式模式下的服務(wù)器端命令(需要命令提示符,默認為分號) ???mysql> help contents 能夠獲取幫助的分類信息 ???mysql> help keyword 獲取關(guān)鍵字的幫助信息,如help?select |
腳本模式:mysql < /path/to/mysql_script.sql
注:常用于主從復(fù)制批量導(dǎo)入數(shù)據(jù)時
連接MySQL
連接類型
本地通信:客戶端與服務(wù)器端位于同一主機,而且還要基于127.0.0.1(localhost)地址或lo接口進行通信
? ?基于sock文件通信:如mysql -hlocalhost -uroot -p --socket=/tmp/mysql.sock
遠程通信:客戶端與服務(wù)器端位于不同的主機,或在同一主機使用非回環(huán)地址通信
? ?基于 TCP socket通信
mysql客戶端選項
實例
| 1 2 3 4 5 6 7 8 9 10 11 12 | -u,--user?# 指定連接用戶 -h,--host?# 指定連接主機 -p,--password?# 指定連接密碼 --protocol={tcp|socket|memory|pipe}?# 指定連接協(xié)議 -P,--port?# 指定連接端口,默認監(jiān)聽端口:tcp/3306 --socket?# 指定本地連接的sock文件 --compress?# 數(shù)據(jù)傳輸采用壓縮格式 -D,--database?# 指定連接后默認使用的數(shù)據(jù)庫 -H,--html?# 指定產(chǎn)生html輸出 -X,--xml?# 指定產(chǎn)生xml輸出 --safe-updates?# 拒絕使用無where子句的update或delete命令 # 使用實例:mysql -hlocalhost -uroot -p |
mysql命令提示符
| 1 2 3 4 5 6 | mysql>?# 等待輸入命令 ->?# 等待繼續(xù)輸入 ‘>?# 等待結(jié)束單引號 “>?# 等待結(jié)束雙引號 `>?# 等待結(jié)束反引號 /*>?# 注釋,不執(zhí)行,需以*/結(jié)束注釋 |
mysql的快捷鍵
| 1 2 3 4 5 | ctrl+w:# 刪除光標之前的單詞 ctrl+u:# 刪除光標之前至命令行首的所有內(nèi)容 ctrl+y:# 粘貼所有ctrl+w或ctrl+u刪除的內(nèi)容 ctrl+a:# 移動光標至行首 ctrl+e:# 移動光標至行尾 |
MySQL管理工具mysqladmin
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # 使用格式:mysqladmin [options] command [arg] [,command [arg]] … # 常用的command包括: create DB_Name:# 創(chuàng)建數(shù)據(jù)庫 drop DB_Name:# 刪除數(shù)據(jù)庫 debug:# 打開調(diào)試日志并記錄于error log中 status:# 顯示簡要狀態(tài)信息 --sleep?#:設(shè)置間隔時長 --count?#:設(shè)置顯示的批次 extended-status:# 顯示擴展信息,輸出mysqld的各狀態(tài)變量及賦值,相當于執(zhí)行“mysql> show global status” variables:# 輸出mysqld的各服務(wù)器變量 flush-hosts:# 清空主機相關(guān)的緩存:DNS解析緩存;此前因為連接錯誤次數(shù)過多而被拒絕訪問mysqld的主機列表 flush-logs:# 日志滾動,只能滾動二進制日志和中繼日志 refresh:# 相當于同時使用flush-hosts和flush-logs flush-privileges:# 通知mysqld重讀授權(quán)表 reload:# 功能同“flush-privileges” flush-status:# 重置狀態(tài)變量的值 flush-tables:# 關(guān)閉當前打開的表文件句柄 flush-threads:# 清空線程緩存 kill:# 殺死指定的線程,需指定線程ID;可以一次殺死多個線程,以逗號分隔,但不能有多余空格 password:# 修改當前用戶的密碼 ping:# 模擬ping操作,檢測mysqld是否在線 processlist:# 顯示mysqld線程列表 shutdown:# 關(guān)閉mysqld進程 start-slave,stop-slave:# 啟動/關(guān)閉從服務(wù)器線程 |
MySQL數(shù)據(jù)文件解析
MyISAM表:每表有3個文件,都位于數(shù)據(jù)庫目錄中
| 1 2 3 | tb_name.frm:# 表結(jié)構(gòu)定義文件 tb_name.MYD:# 數(shù)據(jù)文件 tb_name.MYI:# 索引文件 |
InnoDB表:有2種存儲方式
默認方式:每表有1個獨立文件和一個多表共享的文件
| 1 2 | tb_name.frm:# 表結(jié)構(gòu)定義文件,位于數(shù)據(jù)庫目錄中 ibdata#:# 共享的表空間文件,默認位于數(shù)據(jù)目錄(datadir指向的目錄)中,如ibdata1 |
自定義方式:獨立的表空間
| 1 2 3 4 5 6 | tb_name.frm:#表結(jié)構(gòu)定義文件 tb_name.ibd:# 獨有的表空間文件 # 在MySQL初始化中打開獨立表空間功能的方法: vi?/etc/my.cnf (在[mysqld]段下添加) innodb_file_per_table = ON # 注:表空間:table space,是由InnoDB管理的特有格式的數(shù)據(jù)文件,內(nèi)部可同時存儲數(shù)據(jù)和索引 |
本文轉(zhuǎn)自 xxrenzhe11 51CTO博客,原文鏈接:http://blog.51cto.com/xxrenzhe/1395061,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的MySQL初识-架构-安装-初始化-连接-管理工具-数据文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求方程的解 Solve the Equa
- 下一篇: Redis详解(三)