您好,登錄后才能下訂單哦!
MySQL AB --> MySQL
Solaris:二進制版本;
www.mysql.com
MariaDB: www.mariadb.org
MariaDB的特性:
插件式存儲引擎:存儲管理器有多種實現版本,彼此間的功能和特性可能略有區別;用戶可根據需要靈活選擇;
存儲引擎也稱為“表類型”;
(1) 更多的存儲引擎;
MyISAM:不支持事務;(CentOS 6 --> 5.1.73 默認存儲引擎為MylSAM紅帽調整為 inndDB)
MyISAM --> Aria
InnoDB --> XtraDB 支持事物
5.5以后都支持事物
:支持事務;
(2) 諸多擴展和新特性;
(3) 提供了較多的測試組件;
(4) truly open source;真開源
MySQL的發行機制:
Enterprise:企業版
Commutiny:社區版
安裝和使用MariaDB:
(1) rpm包;
(a) 由OS的發行商提供;
(b) 程序官方提供;
(2) 源碼包;
(3) 通用二進制格式的程序包;(就像win上的綠色軟件一樣)
通用二進制格式安裝注意:
1.注意版本,有的版本要求glibc版本要求
2.展開位置必須為/usr/local (tar xf MARIADB_NAME -C /usr/local)
3.要求文件名必須為mysql (一般選用軟連接而不直接命名文件夾 ln -sv MARIADB_NAME mysql)
4,移動文件時注意屬主數組,默認為系統用戶的mysql,(chown -R root:mysql ./* )
5.創建數據存放目錄 (數據庫有可能未來會非常大,非測試建議獨立分區,創建目錄注意權限)
6,即使是二進制安裝的,默認也會讀取/etc/my.cnf文件 (主配置文件)
7.需獨立設置配置文件時,安裝包下的support-files下有配置文件模板 (cnf結尾的文件都是,適用于不同的硬件配置)
8.復制模板文件到/etc/ 或自建目錄/etc/mysql/my.cnf并重命名
9.mysql是但進程多線程,而對linux而言,一個進程最多使用2.7G內存,沒屌用
10.在要配置的文件中指定mysql數據庫數據位置( 添加 datadir = /SOME/TO)
11.skip_name_resolve = ON
12 innodb_file_per_table = ON
13.復制安裝包support-files文件中mysql.server復制到/etc/rc.d/init.d/mysqld (確認執行權限 執行chkconfig --add mysqld)
14.初始化數據庫.在數據庫所在路徑(/usr/local/mysql) 執行 scripts/mysql_install_db --user=mysql -datadir=/mydata/data
通用二進制格式安裝MariaDB:
(1) 準備數據目錄;
以/mydata/data目錄為例;
(2) 安裝配置mariadb
# useradd -r mysql
# tar xf mariadb-VERSION.tar.xz -C /usr/local
# cd /usr/local
# ln -sv mariadb-VERSION mysql
# cd /usr/local/mysql
# chown -R root:mysql ./*
# scripts/mysql_install_db --user=mysql -datadir=/mydata/data
# cp support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
(3) 提供配置文件
ini格式的配置文件;各程序均可通過此配置文件獲取配置信息;
[program_name]
配置文件生效次序查詢: ~]# mysql --help
# cp support-files/my-large.cnf /etc/my.cnf
添加三個選項:
datadir = /mydata/data
innodb_file_per_table = ON
skip_name_resolve = ON
(4) 啟動服務
# service mysqld start
MariaDB程序的組成:
C:Client
mysql:CLI交互式客戶端程序;
mysqldump:備份工具;
mysqladmin:管理工具;
mysqlbinlog:查看mysql二進制日志
...
S:Server
mysqld
mysqld_safe:建議運行服務端程序;
mysqld_multi:多實例;
三類套接字地址:
IPv4, 3306/tcp
Unix Sock:/var/lib/mysql/mysql.sock, /tmp/mysql.sock
C <--> S: localhost, 127.0.0.1
命令行交互式客戶端程序:mysql
mysql
mysql [OPTIONS] [database]
常用選項:
-uUSERNAME:用戶名,默認為root;
-hHOST:遠程主機(即mysql服務器)地址,默認為localhost;
-p[PASSWORD]:USERNAME所表示的用戶的密碼; 默認為空;
注意:mysql的用戶賬號由兩部分組成:'USERNAME'@'HOST'; 其中HOST用于限制此用戶可通過哪些遠程主機連接當前的mysql服務;
HOST的表示方式,支持使用通配符:
%:匹配任意長度的任意字符;
172.16.%.%, -->172.16.0.0/16
_:匹配任意單個字符;
-Ddb_name:連接到服務器端之后,設定其處指明的數據庫為默認數據庫;
-e 'SQL COMMAND;':連接至服務器并讓其執行此命令后直接返回;
命令:
客戶端命令:本地執行
mysql> help
\u db_name:設定哪個庫為默認數據庫 #反斜線
\q:退出;
\d CHAR:設定新的語句結束符;
\g:語句結束標記;
\G:語句結束標記,結果豎排方式顯式;
\s:查看數據庫狀態
服務端命令:通過mysql連接發往服務器執行并取回結果;
DDL, DML, DCL
注意:每個語句必須有語句結束符,默認為分號(;)
***********************************************
數據類型:
表:行和列 一個表可以沒有行 但不能沒有列 沒有列不叫表
創建表:定義表中的字段;
定義字段時,關鍵的一步即為確定其數據類型;
用于確定:數據存儲格式、能參與運算種類、可表示的有效的數據范圍;
字符型:字符集
碼表:在字符和二進制數字之間建立映射關系;
種類:
字符型:
定長字符型:
CHAR(#):不區分字符大小寫
BINARY(#):區分字符大小寫
變長字符型:
VARCHAR(#)
VARBINARY(#)
對象存儲:
TEXT 文本 2^32次方格文本 4G 不區分
BLOB 區分大小寫
內置類型:
SET 集合(給定abc 只能填寫abc的組合)
ENUM 枚舉(不如男女.星期.種類什么的)
數值型:
精確數值型:
INT(TINYINT(一個字節0-255),SMALLINT(小整型2字節),MEDIUMINT(3字節),INT(4字節),BIGINT(8))
近似數值型:
FLOAT 單精度浮點
DOBULE 雙精度浮點
日期時間型:
日期型:DATE
時間型:TIME
日期時間型:DATETIME
時間戳:TIMESTAMP
年份:YEAR(2), YEAR(4)
數據類型有修飾符:
UNSIGNED:無符號;
NOT NULL:非空;
DEFAULT value:默認值;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。