国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

數據庫簡介與MySQL5.7版本編譯安置

2024-07-24 12:34:50
字體:
來源:轉載
供稿:網友
  數據庫的基本概念
  數據:
  描述事物的符號記錄稱為數據(Data);
  包括數字,文字、圖形、圖像、聲音、檔案記錄等;
  以“記錄”形式按統一的格式進行存儲。
  表:
  將不同的記錄組織在一起,就形成了“表”
  是用來存儲具體數據的
  數據庫:
  數據庫就是表的集合,是存儲數據的倉庫
  以一定的組織方式存儲的相互有關的數據
  數據庫系統發展史
  第一代數據庫
  自20世紀60年代起,第一代數據庫系統問世。它們是層次模型與網狀模型的數據庫系統,為統一管理和共享數據提供了有力的支撐
 
  第二代數據庫
  20世紀70年代初,第二代數據庫——關系數據庫開始出現
  20世紀80年代初,IBM公司的關系數據庫系統DB2問世,作為第二代數據庫系統的關系數據庫,開始逐步取代層次與網狀模型的數據庫,成為占主導地位的數據庫,成為行業主流。到目前為止,關系數據庫系統仍占領數據庫應用的主要地位
  第三代數據庫
  自20世紀80年代起,各種適應不同領域的新型數據庫系統不斷涌現,如工程數據庫、多媒體數據庫、圖形數據庫、智能數據庫、分布式數據庫及面向對象數據庫等,特別是面向對象數據庫系統,由于其實用性強、適應面廣而受到人們的青睞
  20世紀90年代后期,形成了多種數據庫系統共同支撐應用的局面。當然,在商務應用方面,依然還是關系數據庫占主流,不過已經有一些新的元素被添加進主流商務數據庫系統中。例如,Oracle支持的"關系對象”數據庫模型
  主流的數據庫介紹
  SQL Server (微軟公司產品)
  面向Windows操作系統
  簡單、易用、幾乎沒人用
  Oracle (甲骨文公司產品)
  面向所有主流平臺
  安全、完善,操作復雜
  DB2 (IBM公司產品)
  面向所有主流平臺
  大型、安全、完善
  MySQL (甲骨文公司收購)
  免費、開源、體積小
  sybase(關系型數據庫,美國Sybase公司產品)
  大型、完善
  關系型數據庫
  關系數據庫系統是基于關系模型的數據庫系統,它的基本概念來自于關系模型
  關系模型建立在關系代數的理論基礎上,數據結構使用簡單易懂的二維數據表,可以用簡單的“實體-關系”(E-R)圖來直接表示
  E-R圖中包含了實體(數據對象)、關系和屬性三個要素
  所有實體及實體之間聯系的集合構成一個關系數據庫
  關系數據庫的存儲結構是二維表格,反映事物及其聯系的數據是以表格形式保存的
  在每個二維表中,每一行稱為一條記錄,用來描述一個對象的信息;每一列稱為一個字段,用來描述對象的一個屬性
  數據庫簡介與MySQL5.7版本編譯安裝(實戰!)
 
  實體
  也稱為實例,對應現實世界中可區別于其他對象的"事件”或事物”,如銀行客戶、銀行賬戶等
 
  屬性
  實體所具有的某一特性,一個實體可以有多個屬性。例如,“銀行客戶”實體集中的每個實體均具有姓名、住址、電話等屬性
 
  聯系
  實體集之間的對應關系稱為聯系,也稱為關系。例如,銀行客戶和銀行賬戶之間存在“儲蓄”的關系
 
  關系型數據庫
  Oracle ,MySQL
  SQLServer、Sybase
  Informix、access
  DB2、FoxPRO
  關系型數據庫應用舉例
  12306用戶信息系統
  淘寶賬號信息系統、支付寶賬號系統移動、電信、聯通手機號信息系統、計費系統銀行用戶賬號系統
  網站用戶信息系統
  非關系型數據庫介紹
  1、非關系數據庫也被稱作NoSQL(Not Only SQL),存儲數據不以關系模型為依據,不需要固定的表格式
 
  2、非關系型數據庫作為關系數據庫的一一個補充,在日益快速發展的網站時代,發揮著高效率與高性能
 
  3、非關系型數據庫的優點:
 
  數據庫高并發讀寫的需求
  對海量數據高效率存儲與訪問
  數據庫的高擴展性與高可用性的需求
  4、鍵-值方式(key-value),以鍵為依據存儲、刪、改數據
  5、列存儲(Column-oriented),將相關的數據存儲在列族中
 
  6、文檔的方式,數據庫由一系列數據項組成,每個數據項都有名稱與對應的值
 
  7、圖形方式,實體為頂點,關系為邊,數據保存為一個圖形
 
  8、Memcached是一個開源的、高性能的、具有分布式內存對象的緩存系統,以key-value方式存儲數據
 
  緩存數據以減輕數據庫壓力并能加快訪問速度
  加速動態Web應用
  緩存的內容保存在內存中
  9、redis也是一個以key-value方式存儲數據的,數據也是保存在內存中,但會定期將數據寫入磁盤中
 
  10、相對于Memcached有以下特點:
 
  支持內存緩存
  支持持久化
  數據類型更多
  支持集群、分布式
  支持隊列
  11、redis應用舉例
 
  數據庫前端緩存
  session共享
  當需要緩存除了key/value之外的更多數據類型時
  當緩存的數據需要長久保存時
  MySQL數據庫介紹
  MySQL是一款深受歡迎的開源關系型數據庫
 
  Oracle旗下的產品
 
  遵守了GPL協議,可以免費使用與修改
 
  特點:
  性能卓越、服務穩定
  開源、無版權限制、成本低
  多線程、多用戶
  基于C/S (客戶端/服務器)架構.
  安全可靠
  MySQL商業版與社區版
  MySQL商業版是由MySQL AB公司負責開發與維護,需要付費才能使用
 
  MySQL社區版是由分散在世界各地的MySQL 開發者、愛好者一起開發與維護,可以免費使用
 
  兩者區別:
  商業版組織管理與測試環節更加嚴格,穩定性更好
  商業版不遵守GPL
  商業版可獲得7*24小時的服務,如故障維護與打補丁等
  MySQL產品陣營
  第一陣營:5.0-5.1陣營,可說是早期產品的延續
  第二陣營:5.4-5.7陣營,更好地整合了MySQL AB公司、社區、第三方公司開的存儲引擎,從而提高性能
  第三陣營:6.0-7.1陣營, 就是MySQL Cluster版本,為適應新時代集群對數據庫的需求而開發
 
  MySQL5.7編譯安裝
  1.安裝編譯mysql所需環境包
  [root@localhost ~]# yum -y install /
  > ncurses /
  > ncurses-devel /
  > bison /
  > cmake /
  > gcc /
  > gcc-c++
  ........//省略安裝過程
  2.添加一個mysql用戶
  [root@localhost ~]# useradd -s /sbin/nologin  mysql
  [root@localhost ~]#
  3.將mysql源碼包解壓到“/opt/”目錄下
  [root@localhost ~]# mkdir /mnt/tools
  [root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools/
  Password for root@//192.168.100.50/tools:  
  [root@localhost ~]# cd /mnt/tools/MySQL/
  [root@localhost MySQL]# ls
  boost_1_59_0.tar.gz  mysql-5.7.17.tar.gz
  [root@localhost MySQL]# tar zxvf mysql-5.7.17.tar.gz -C /opt/
  ............//省略解壓過程
  [root@localhost MySQL]#tar zxvf boost_1_59_0.tar.gz -C /usr/local/
  ............//省略解壓過程
  [root@localhost MySQL]#
  4.將“boost_1_59_0”目錄重命名為“boost”
  [root@localhost MySQL]# cd /usr/local/
  [root@localhost local]# mv boost_1_59_0/ boost
  [root@localhost local]# ls
  bin  boost  etc  games  include  lib  lib64  libexec  sbin  share  src
  [root@localhost local]#
  5.配置mysql服務
  [root@localhost local]# cd /opt/mysql-5.7.17/
  [root@localhost mysql-5.7.17]# cmake /
  > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql /     //安裝路徑
  > -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock /    //定義sock文件連接數據庫文件
  > -DSYSCONFDIR=/etc /    //配置文件目錄
  > -DSYSTEMD_PID_DIR=/usr/local/mysql /   //PID文件目錄
  > -DDEFAULT_CHARSET=utf8 /    //指定字符集,utf8支持中文字符
  > -DDEFAULT_COLLATION=utf8_general_ci /    指定字符集默認
  > -DWITH_INNOBASE_STORAGE_ENGINE=1 /    存儲引擎
  > -DWITH_ARCHIVE_STORAGE_ENGINE=1 /
  > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 /
  > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 /
  > -DMYSQL_DATADIR=/usr/local/mysql/data /     //數據庫數據文件目錄
  > -DWITH_BOOST=/usr/local/boost /     //底層運行庫
  > -DWITH_SYSTEMD=1      //主從參數
  6.編譯安裝MySQL服務
  [root@localhost mysql-5.7.17]#make && make install
  ...........//省略編譯過程
  [root@localhost mysql-5.7.17]#
  7.更改數據庫目錄屬主、屬組
  [root@localhost mysql-5.7.17]# chown -R mysql.mysql /usr/local/mysql/
  [root@localhost mysql-5.7.17]#
  8.修改配置文件
  [root@localhost mysql-5.7.17]# vim /etc/my.cnf
  [client]                            //客戶端
  port = 3306
  default-character-set=utf8
  socket = /usr/local/mysql/mysql.sock
 
  [mysql]                           //客戶端
  port = 3306
  default-character-set=utf8
  socket = /usr/local/mysql/mysql.sock
 
  [mysqld]                         //服務器
  user = mysql                  //用戶
  basedir = /usr/local/mysql      //設置mysql的安裝目錄
  datadir = /usr/local/mysql/data    //設置mysql數據庫的數據的存放目錄
  port = 3306                    //設置3306端口
  character_set_server=utf8           //中文字符集
  pid-file = /usr/local/mysql/mysqld.pid     //pid文件路徑
  socket = /usr/local/mysql/mysql.sock     //sock文件路徑
  server-id = 1                                     //主從參數
 
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
  //支持模塊
  [root@localhost mysql-5.7.17]# chown mysql:mysql /etc/my.cnf  //修改文件屬主屬組
  [root@localhost mysql-5.7.17]#
  9.將mysql相關命令添加本地環境配置中
  [root@localhost mysql-5.7.17]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
  //將MySQL寫到本地環境配置中
  [root@localhost mysql-5.7.17]#  echo 'export PATH' >> /etc/profile   //設置全局環境配置
  [root@localhost mysql-5.7.17]#  source /etc/profile    //重新加載配置文件
  [root@localhost mysql-5.7.17]#
  10.初始化數據庫
  [root@localhost mysql-5.7.17]# cd /usr/local/mysql/
  [root@localhost mysql]# bin/mysqld /
  > --initialize-insecure /    //初始化
  > --user=mysql /   //用戶
  > --basedir=/usr/local/mysql /    //安裝目錄
  > --datadir=/usr/local/mysql/data   //數據庫數據文件目錄
  11.將MySQL服務配置文件復制到/usr/lib/systemd/system/下便于使用systemctl管理
  [root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
  //復制
  [root@localhost mysql]# systemctl daemon-reload   //重新加載
  [root@localhost mysql]# systemctl start mysqld.service   //啟動服務
  [root@localhost mysql]# netstat -ntap | grep 3306    //查看tcp3306端口
  tcp6       0      0 :::3306                 :::*                    LISTEN      78684/mysqld        
  [root@localhost mysql]# systemctl enable mysqld.service    //設置開機自啟
  Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
  [root@localhost mysql]#
  12.配置MySQL密碼
  [root@localhost mysql]# mysqladmin -u root -p password
  Enter password:
  New password:
  Confirm new password:
  Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
  [root@localhost mysql]#
  13.嘗試登陸MySQL數據庫
  [root@localhost mysql]# mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or /g.
  Your MySQL connection id is 4
  Server version: 5.7.17 Source distribution
 
  Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
 
  Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
 
  mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
  //提權讓所有終端能夠遠程登錄
  Query OK, 0 rows affected, 1 warning (0.00 sec)
 
  mysql> quit   //退出
  Bye
  [root@localhost mysql]#
 
  [root@localhost mysql]# systemctl stop firewalld.service   //關閉防火墻
  [root@localhost mysql]# setenforce 0   //關閉增強性安全功能
  [root@localhost mysql]#
  14.用Navicat工具遠程登錄
  數據庫簡介與MySQL5.7版本編譯安裝(實戰!)
  數據庫簡介與MySQL5.7版本編譯安裝(實戰!)
  數據庫簡介與MySQL5.7版本編譯安裝(實戰!)
 
  15.進入數據庫查看所有database
  [root@localhost mysql]# mysql -uroot -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or /g.
  Your MySQL connection id is 6
  Server version: 5.7.17 Source distribution
 
  Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
 
  Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
 
  mysql> show databases;   //查看數據庫
  +--------------------+
  | Database           |
  +--------------------+
  | information_schema |
  | mysql              |
  | performance_schema |
  | sys                |
  +--------------------+
  4 rows in set (0.00 sec)
 
  mysql>

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙雅县| 天台县| 佳木斯市| 五峰| 井研县| 巫溪县| 牟定县| 张家口市| 江都市| 中宁县| 金华市| 高邮市| 平昌县| 白玉县| 肃宁县| 双柏县| 方山县| 东阿县| 古交市| 上栗县| 大姚县| 稻城县| 江孜县| 巴塘县| 威信县| 商南县| 西宁市| 阜新| 西藏| 潮安县| 珲春市| 双辽市| 兴和县| 大化| 瑞金市| 三台县| 江永县| 青冈县| 宣化县| 淮阳县| 舟山市|