RDBMS:關係型數據庫管理系統mysql
S/C:經過專有協議
sql
關係模型:表(行,列),二維關係
數據庫
範式:第一範式、第二範式、第三範式:
編程
關係運算:
服務器
選擇
多線程
投影
socket
數據庫:表,索引,視圖(虛表)
ide
SQL: Structure Query Language
函數
DDL,DML
工具
編程接口:
存儲過程
存儲函數
觸發器:
事件調度器
過程式編程:選擇\循環
三層模型:
物理層:
邏輯層:
視圖層:
解決方案:
Oracle,sybase,Infomix,DB2
MySQL,MariaDB,PostgreSQL,SQLite
MySQL-->5.1-->5.5-->5.6-->5.7-->5.8
MriaDB
插件式存儲引擎
MySQL:查看存儲引擎命令:show engines;
單進程多線程:
鏈接線程
守護線程
配置文件:集中式的配置,可以爲mysql的各應用程序提供配置信息
[mysqld]
[mysqld_safe]
[mysqld_multi]
[server]
[mysql]
[mysqldump]
[client]
parameter - value
skip-name-resolve
skip_name_resolve
查找路徑:/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf
安裝方法:
os vendor:rpm
MySQL:
rpm
展開可用
源碼安裝
安裝後的設定:
(1)爲ROOT用戶設定密碼:
mysql> SET PASSWORD
mysql> update mysql.user SET password-PASSWORD('密碼‘) WHERE
CLUASE;
(2)刪除全部匿名用戶
myslq> DROP USER ''@'LOCALHOST';
上述兩步驟可運行命令:mysql_secure_installation
(3)建議閉主機名反解功能
元數據數據庫:mysql
user,host等;
mysql --> mysqld
客戶端程序
mysql:交互式的CLI工具:
mysqldump:備份工具,基於mysql協議向mysqld發起查詢請求,病將查詢的全部數據轉換成insert等寫操做語句保存文本文件中;
myslqadmin:居於mysql協議管理mysqld;
mysqlimpor:;數據局導入工具;
非客戶端工具:
myisamchk,myisampack
如何獲取程序默認配置:
mysql --print-defaults
mysqld --print-defaults
客戶端類應用程序可用選項:
-u,--user=
-h,--host=
-p, --password=
-P, --port=
--protocol=
-S, --socket=
-D, --database=
-c,--compress
mysql -e 'SQL語句'
msyql的使用模式:
交互式模式:
可運行命令有兩類:
客戶端命令:
\h,help
服務器端命令:
SQL,須要語句結束符;
腳本模式:
#myusql -uUSERNAME -hHOST -pPASSWOERD < /PATH/FROM/SOMEFILE.SQL
mysql> source /path/from/somefile.sql
服務器端(mysqld):工具特性有多種意義方式
命令行選項
配置文件參數
獲取可用參數列表:
mysqld --hepl -- verbose
獲取運行中的mysql進程使用各服務器參數及其值:
mysql> SHOW GLOBAL VARIABLES;
mysql> SHOW SESSION VARIABLES;
注意:其中有些參數支持運行時修改,會當即生效,有些參數不支持,且之恩那個經過修改配置文件,並重啓服務才能生效。
有些參數做用域是全局的,且不可修改,有些能夠爲每一個用戶提供單獨設置;
修改服務器變量值:
mysql> help SET;
全局:
mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;
會話:
mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;
狀態變量:用於保存mysqld運行中的統計數據的變量;
mysql>SHOW GLOBAL STATUS;
mysql>SHOW [SESSION] STATUS;