-
DBMS:數據庫管理系統
-
RDBMS:關系型數據庫管理系統
總之:他們都是一個數據管理程序;大多都是CS架構,都有專門的通信協議進行數據交換
-
關系模型:
表(行或者列):二維關系
-
設計范式:
第一范式、第二范式、第三范式
關系運算:選擇(選擇行);投影(選擇咧)
-
數據庫—–》表——》索引—》視圖(虛表)
SQL(結構化查詢語言):
DDL(數據定義語言)
DML(數據操作語言)
編程接口:支持判斷,選擇,循環。。。
可以定義存儲過程;存儲函數;觸發器;事件調度器;過程式編程(選擇,循環)
-
數據的三層模型:
-
物理層視圖:RAID。。。
-
邏輯層視圖:設計表結構,數據的恢復,導入導出
-
視圖層:用戶視圖:增刪改查數據
-
關系型數據庫解決方案:
-
商業版:oracle,sybase,infomix(IBM),DB2
-
開源版:MySQL,MariaDB,PostgreSQL,SQLite
-
兩條路線
-
mysql常見版本:5.1—–>5.5——>5.6——->5.7
-
mariadb
總結:mysql&mariadb選用的是插件式數據存儲引擎
mariadb的單進程多線程
連接線程
守護線程
-
mysql的配置文件內容簡介:
-
采用的是集中式的配置,能夠為mysql的各種應用程序提供配置信息
-
[mysqld]:用于mysqld這個應用程序配置
-
[mysqld_safe]:線程安全的mysqld程序配置
-
[mysqld_multi]:多實例的mysql程序配置
-
[server]:服務端程序
-
[mysql]:客戶端程序
-
[mysqldump]:mysql的備份還原程序
-
[client]:表示上述配置對客戶端都有效
-
參數定義
parameter = value
skip-name-resolve:跳過域名解析
-
查找配置文件的路徑:
-
/etc/my.cnf—->/etc/mysql/my.cnf—–>$MYSQL_HOME/my.cnf—> –default-extra-file=/path/to/somedir/my.cnf—–> ~/.my.cnf #按此順序找。后找的會覆蓋之前找到的
安裝方法
-
os vendor:rpm安裝
-
MySQL:
-
rpm
-
展開可用
-
源碼編譯安裝
-
安裝之后的設定
-
為所有root用戶設定密碼:
mysql>set password mysql>update mysql.user set password=PASSWORD('password') where clausse;mysql>flush privileges;#mysqladmin ...
-
刪除所有的匿名用戶
mysql>drop user ''@'localhost';同樣也可以通過mysql_sequre_installation來實現用戶加密和刪除
-
關閉主機名反解功能
**元數據庫:mysql
user,host
-
mysql的客戶端程序:
-
mysql:交互式CLI工具
-
mysqldump:備份工具;基于mysql協議向mysqld發起查詢請求,,并將查到的數據轉換城INSERT等寫操作語句保存到文本文件中
-
mysqladmin:這是mysql的客戶端專用管理工具
-
mysqlimport :數據導入工具
-
mysql的非客戶端類的管理工具
-
myisamchk:myisam引擎檢查工具
-
myisampack:myisam打包工具(只讀),節約空間
-
客戶端類的應用程序的可用選項:
-
-u;–user=
-
-h;–host=
-
-p;–password=
-
-P;–port=
-
–protocol={tcp|sock}
-
-S;–socket=
-
-D;–database= #默認數據庫
-
-C;–compress #壓縮
-
mysql -e "SQL" #非交互格式執行sql
-
獲取程序的默認配置:
-
mysql –print-defaults #不詳細
-
mysqld –print-defaults #詳細
-
mysql的使用模式:
-
交互式模式
-
可運行的命令有兩類:
-
客戶端命令:\h,help
-
服務器端命令:需要語句結束符
-
腳本模式
-
mysql -uUSERNAME -pPASSWORD < /path/from/somefile.sql
-
mysql>source /path/from/somefile.sql
-
mysql的服務器端(mysqld):工作特性有多重定義方式
-
命令行選項
-
配置文件參數
[root@localhost ~]# mysql --verbos --help #查看所有幫助信息
-
獲取運行中的mysql進程使用各參數及其值:
MariaDB [(none)]> show variables;
注意:其中有些參數支持運行時修改,會立即生效;有些參數不支持,切只支持修改配置文件然后重啟服務才能生效
有些參數的作用域是全局的,切不可修改;有些可以為每個用戶提供單獨的設置
-
修改服務器參數的值:
MariaDB [(none)]> help set; #查看set的幫助信息Name: 'SET' Description: Syntax: SET variable_assignment [, variable_assignment] ... variable_assignment: user_var_name = expr | [GLOBAL | SESSION] system_var_name = expr | [@@global. | @@session. | @@]system_var_name = expr
-
全局變量的修改:
MariaDB [(none)]> set global system_var_name = value;MariaDB [(none)]> set @@global.system_var_name=value;
-
會話變量的修改:
MariaDB [(none)]> set [session] system_var_name=value;MariaDB [(none)]> set @@[session.]system_var_name=value;
-
狀態變量(不能修改的):
MariaDB [(none)]> set global status;MariaDB [(none)]> set [session] global status;
原創文章,作者:wanghui,如若轉載,請注明出處:http://www.www58058.com/66454
看樣子整理的只是筆記,希望有自己的理解過程和實驗步驟。