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