一、mariadb邏輯架構
mariadb邏輯架構
1、第一層不是Mysql特有的,大多數基于網絡的客戶端/服務器的工具或者服務都有類似的架構。比如連接管理、授權認證、安全。
2、第二層是Mysql獨有的部分,大多數Mysql的核心服務功能都在這一層,包括查詢解析、分析、優化、緩存及所有內置函數(比如日期、時間、數學和加密),所有的跨存儲引擎的功能都在這一層(比如存儲過程、觸發器、視圖等)。
3、第三層包含了存儲引擎,負責Mysql的存儲與提取。服務器通過Api與存儲引擎進行通信,這些接口屏蔽了不同存儲引擎之間的差異,使得這些差異對上層的查詢過程透明。存儲引擎包含幾十個底層函數,用于執行諸如 ‘開始一個事物’ 或者 ‘根據主鍵提取一行數據’等操作。但存儲引擎不會解析SQL,不同的存儲引擎也不會互相通信,而只是簡單的響應上層的請求。
二、安裝和初始化
1、安裝
yum install mariadb
yum install mariadb-server
yum install mysql-devel
2、啟動服務
systemctl start mariadb #啟動MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重啟MariaDB
systemctl enable mariadb #設置開機啟動
3、查看版本
mysqladmin --version
4、初始化密碼
mysqladmin -u root password "new_password";
再次修改密碼可以用
mysqladmin -u root -p password "new_password";
#此時你需要輸入舊密碼
5、連接登錄數據庫
mysql -u root -p
三、數據類型
MySql支持多種列類型:
? 數值類型
? 日期/時間類型
? 字符串(字符)類型
數值類型
1、整型
? tinyint(m) 1個字節 范圍(-128~127)
? smallint(m) 2個字節 范圍(-32768~32767)
? mediumint(m) 3個字節 范圍(-8388608~8388607)
? int(m) 4個字節 范圍(-2147483648~2147483647)
? bigint(m) 8個字節 范圍(+-9.22*10的18次方)
取值范圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值范圍為(0~256)
2、浮點型(float和double),近似值
? float(m,d) 單精度浮點型 8位精度(4字節) m總個數, d小數位
? double(m,d) 雙精度浮點型 16位精度(8字節) m總個數, d小
數位
設一個字段定義為float(6,3),如果插入一個數123.45678,實際數據庫里存的是123.457,但總個數還以實際為準,即6位
3、定點數
字符串類型
? char(n) 固定長度,最多255個字符
? varchar(n)可變長度,最多65535個字符
? tinytext 可變長度,最多255個字符
? text 可變長度,最多65535個字符
? mediumtext 可變長度,最多2的24次方-1個字符
? longtext 可變長度,最多2的32次方-1個字符
? BINARY(M) 固定長度,可存二進制或字符,允許長度為0-
M字節,
? VARBINARY(M) 可變長度,可存二進制或字符,允許長度
為0-M字節
? 內建類型: ENUM枚舉, SET集合
四、數據庫基本操作
庫操作
1、創建數據庫
mysql -u root -p
MariaDB [(none)]> create database test;
或者直接在shell敲命令
mysqladmin -u root -p create test
2、刪除數據庫
mysql -u root -p
MariaDB [(none)]> drop database test;
或者
mysqladmin -u root -p drop test
3、查看數據庫
MariaDB [(none)]> show databases;
4、使用數據庫
MariaDB [(none)]> use test1;
Database changed
MariaDB [test1]>
表操作
格式CREATE TABLE table_name (column_name column_type);