Linux_MySQL(mariadb)數據庫(2)V1.0

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:默認值;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章