前言
歡迎來到小K的MySQL專欄,本節(jié)將為大家?guī)鞰ySQL的簡介與安裝配置的詳細講解~
一、數(shù)據(jù)庫系統(tǒng)概述
數(shù)據(jù)(Data)
描述事務(wù)的符號記錄成為數(shù)據(jù)。
?數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,出了基本的數(shù)字之外、像圖書的名稱、價格、作者等都可以稱為數(shù)據(jù)。
列如:在日常生活之中,可以這樣描述一本書的信息,《C Primer Plus》是人民郵電出版社出版的圖書,作者是普拉塔(Prata S.),定價是89.00,出版日期是2005年2月1日,這樣的信息在計算機中就可以使用下面的方式來描述:
- (C Primer Plus,人民郵電出版社,普拉塔(Prata S.),89.00,2005-2-1)
- 即,將信息按照“(圖書名稱,出版社,作者,價格,出版日期)”的方式組織在一起,這樣就組成了一條記錄。
?如果現(xiàn)在有多條這種記錄,那么就可以列成一張表,通過表來管理數(shù)據(jù)。
如有幾種數(shù)據(jù)類型:
- 圖書編號、庫存:整型數(shù)據(jù)
- 圖書名稱、作者、出版社:字符串類型
- 價格:小數(shù)類型
?每一行的數(shù)據(jù)都成為記錄,那么每一列的內(nèi)容都稱為字段。每一列都有自己的數(shù)據(jù)類型。
數(shù)據(jù)庫(Database)
存放數(shù)據(jù)的倉庫。
?所有的數(shù)據(jù)在計算機存儲設(shè)備上保存,而且保存的數(shù)據(jù)會按照一定的格式進行存儲。
?數(shù)據(jù)庫是長期存儲在計算機內(nèi),有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織、描述和存儲,具有嬌小的冗余度、教導的數(shù)據(jù)獨立性和易拓展性,并可以為各種用戶共享,所以數(shù)據(jù)庫具有永久存儲、有組織和課共享三個基本特點。
?而除了有數(shù)據(jù)庫之外,還要有數(shù)據(jù)庫管理系統(tǒng),才能對數(shù)據(jù)很好的管理。
數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)
科學的組織和存儲數(shù)據(jù),可以高效的獲取和維護數(shù)據(jù)。
?數(shù)據(jù)庫管理系統(tǒng)和操作系統(tǒng)一樣時計算機的基礎(chǔ)軟件,也是一個大型復雜的軟件系統(tǒng),主要功能包括以下幾個方面:數(shù)據(jù)操作功能,數(shù)據(jù)庫的事務(wù)管理和運行管理、數(shù)據(jù)定義功能,數(shù)據(jù)組織、存儲和管理數(shù)據(jù)的建立和維護功能。
數(shù)據(jù)庫系統(tǒng)(Database System,DBS)
數(shù)據(jù)庫系統(tǒng)(Database System,DBS)由硬件和軟件共同構(gòu)成
?硬件主要用于存儲數(shù)據(jù)庫中的數(shù)據(jù),包括計算機、存儲設(shè)備等。軟件部分主要包括數(shù)據(jù)庫管理系統(tǒng)、支持數(shù)據(jù)庫管理系統(tǒng)運行的操作系統(tǒng),以及支持多種語言進行應(yīng)用開發(fā)的訪問技術(shù)等。
?數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)。
?它是一整個數(shù)據(jù)庫運行的基礎(chǔ),所有的數(shù)據(jù)庫都需要通過開發(fā)工具編寫的應(yīng)用程序進行數(shù)據(jù)的訪問,而數(shù)據(jù)平時需要被數(shù)據(jù)庫管理員(Database Administrator,DBA)維護。
什么是SQL
結(jié)構(gòu)化查詢語言
?SQL其發(fā)音為字母 S-Q-L 或 sequel,是 Structure Query Language(結(jié)構(gòu)化查詢語言)的縮寫,是目前廣泛使用的關(guān)系數(shù)據(jù)庫標準語言。
?該語言由 IBM在20世紀70年代開發(fā)出來,被作為IBM關(guān)系數(shù)據(jù)庫 System R的原型關(guān)系語言,實現(xiàn)關(guān)系數(shù)據(jù)庫中信息的檢索。
由于 SQL 簡單易學、功能豐富和使用靈活,因此受到眾多人的追捧。經(jīng)過不斷的發(fā)展、完善和擴充,SOL 被美國國家標準局(ANSI)確定為關(guān)系型數(shù)據(jù)庫語言的美國標準,后來又被國際標準化組織(ISO)采納為關(guān)系數(shù)據(jù)庫語言的國際標準。幾乎所有的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)軟件都支持SQL,許多廠商還對SQL基本命令進行了不同程度的擴充。
?SQL 語言有以下幾個部分:
-
數(shù)據(jù)操作語言(Data Manipulation Language,DML)
實現(xiàn)對數(shù)據(jù)的操作,用于檢索或修改數(shù)據(jù)。
-
數(shù)據(jù)定義語言(Data Definition Language,DDL)
用于定義數(shù)據(jù)的結(jié)構(gòu),創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象。
-
數(shù)據(jù)控制語言(Data Control Language,DCL)
用于控制數(shù)據(jù)庫用戶的權(quán)限。
-
事務(wù)控制 (Transaction Control,TCL)
定義了包含事務(wù)開始喝結(jié)束的相關(guān)命令。
-
DDL包含的子部分
-
完整性約束(integrity constraint )
-
視圖定義 (View Definition)
?SQL具有如下優(yōu)點∶
- ?SQL 不是某個特定數(shù)據(jù)庫供應(yīng)商專有的語言。幾乎所有重要的數(shù)據(jù)庫管理系統(tǒng)都支持 SQL,
所以只要學習了SQL 就能與所有數(shù)據(jù)庫進行交互。 - ?SQL 簡單易學,該語言的語句都是由描述性很強的英語單詞組成,而且這些單詞的數(shù)目不多。
- ?SQL 高度非過程化,即用SQL進行數(shù)據(jù)庫操作,只需指出"做什么",無須指明"怎么做",存取路徑的選擇和操作的執(zhí)行由數(shù)據(jù)庫管理系統(tǒng)自動完成。
二、MySQL的簡介與安裝
MySQL簡介
?MySQL 的歷史最早可以追溯到1979年,Monty Widenius用BASIC設(shè)計了一個報表工具,過了不久,又將此工具使用C語言重寫,移植到UNIX平臺,當時只是一個底層的面向報表的存儲引擎。
?1985年,三個瑞典人 David Axmark、Allan Larsson和 Michael Widenius 成立了一家公司,這就是 MySQLAB 的前身,這個公司最初并不是為了開發(fā)數(shù)據(jù)庫產(chǎn)品,而是在實現(xiàn)想法的過程中需要一個數(shù)據(jù)庫并希望能夠使用開源的產(chǎn)品。但在當時并沒有一個合適的選擇。因此自己設(shè)計了一個利用索引順序存取數(shù)據(jù)的方法,也就是ISAM(Indexed Sequential Access Method)存儲引擎核心算法的前身。此軟件以創(chuàng)始人之一 Michael Widenius 女兒 My 的名字命名。MySQL的 Logo 為海豚標志,如下圖所示,海豚代表了速度、動力、精確等 MySQL所擁有的特性。Logo 中海豚名字叫"sakila",是由來自非洲斯威士蘭的開源軟件開發(fā)者 Ambrose Twebaze 提供的。根據(jù) Ambrose 所說,Sakila來自一種叫 SiSwati 的斯威士蘭方言,也是在 Ambrose 的家鄉(xiāng)烏干達附近坦桑尼亞的 Arusha 的一個小鎮(zhèn)的名字。
?MySQL 是一款免費開源、小型、關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。隨著該數(shù)據(jù)庫功能的不斷完善、性能的不斷提高,可靠性不斷增強。
?2000年4月,MySQL對舊的存儲引擎進行了整理,命名為 MyISAM。
?2001 年,支持事務(wù)處理和行級鎖存儲引擎 InnoDB 被集成到 MySQL 發(fā)行版中,該版本集成了MyISAM與 InnoDB存儲引擎,MySQL與InnoDB的正式結(jié)合版本是4.0。2004年10月,發(fā)布了經(jīng)典的4.1版本。 2005年10月,發(fā)布了里程碑的一個版本,MySQL 5.0,在5.0中加入了游標,存儲過程,觸發(fā)器,視圖和事務(wù)的支持。在 5.0 之后的版本里,MySQL 明確地表現(xiàn)出邁向高性能數(shù)據(jù)庫的發(fā)展步伐。MySOL 公司于2008年1月16號被 SUN公司收購,而在2009 年 SUN 又被 Oracle 收購。MySQL的發(fā)展前途一片光明。
?MySQL 雖然是免費的,但與其他商業(yè)數(shù)據(jù)庫一樣,具有數(shù)據(jù)庫系統(tǒng)的通用性,提供了數(shù)據(jù)的存取、增加、修改、刪除或更加復雜的數(shù)據(jù)操作。同時 MySQL 是關(guān)系型的數(shù)據(jù)庫系統(tǒng),支持標準的結(jié)構(gòu)化查詢語言,同時 MySQL 為客戶端提供了不同的程序接口和鏈接庫,如C、C++、Java、PHP 等。目前 MySQL 被廣泛地應(yīng)用在 Internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,因此許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL 作為網(wǎng)站數(shù)據(jù)庫。
MySQL下載與安裝
下載
?1,進入MySQL官網(wǎng)官網(wǎng)地址,選擇Downloads。
?2,往下翻,找到MySQL Community (GPL) Downloads ?,點擊進入。
?3,選擇MySQL Community Server
?4.1,下載解壓版
?4.2,下載離線版安裝版
?4.2.1 選擇離線安裝版下載
?5,彈出如下頁面,選擇不登錄直接下載(下載過程可能有點慢)
解壓版安裝配置
?1,下載之后,解壓放到一個自己能找到的目錄里面。
?2,以管理員身份運行cmd,并切換到mysql的bin目錄。
?3,輸入mysqld --install
安裝mysql服務(wù),移除服務(wù)的命令是mysqld --remove
?4,輸入mysqld --initialize --console
初始化,記一下初始密碼哦~
?5,然后輸入net start mysql
啟動服務(wù),停止服務(wù)命令是net stop mysql
?6,最后登錄一下mysql -uroot -p,出現(xiàn)如下界面說明已經(jīng)成功登錄啦~
?7,然后自己修改一下密碼 set password for 'root'@'localhost'='你的新密碼'
?8,輸入quit可以退出mysql哦
?9,為了方便登錄操作MySQL,設(shè)置一個環(huán)境變量,進入bin目錄,然后復制路徑,添加到系統(tǒng)環(huán)境變量
注意:如果需要添加my.ini配置文件,操作如下
?1. 在mysql程序的根目錄下,新建一個my.ini空白文件,用記事本打開,將以下內(nèi)容復制進去,保存:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
?2. 先移除mysql服務(wù)
mysqld --remove;
?3. 重新安裝mysql服務(wù),并指定配置文件
mysqld --install "MySQL80" --defaults-file="F:\Tools\mysql-8.0.22-winx64\my.ini"
#"MySQL80" 是服務(wù)名稱
#--defaults-file 是指定配置文件位置
?4. 啟動新安裝的mysql服務(wù)
net start MySQL80;
PS:如果已經(jīng)安裝過了,Mysql服務(wù)中間的可執(zhí)行文件路徑和Mysql安裝目錄不一致,導致mysql服務(wù)啟動失敗,此時需要修改可執(zhí)行路徑。
1.cmd 輸入 regedit,打開注冊表。
2.找到mysql服務(wù)注冊表,
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL80
,修改imagePath值為正確的路徑。
3.然后重啟服務(wù)應(yīng)該就好了!
安裝版安裝配置
?1,雙擊下載的msi文件
?2,選擇安裝類型
- Developer Default:安裝MySQL開發(fā)所需的所有產(chǎn)品
- Server only:只安裝MySQL服務(wù)端
- Client only:只安裝MySQL客戶端
- Full:安裝上述所有
- Custom:手動選擇需要安裝在系統(tǒng)上的產(chǎn)品
這里咱們選擇Custom自定義安裝,看一下再安裝過程中需要選擇一些什么組件。
?3,選擇需要安裝的產(chǎn)品,選擇好安裝路徑之后,點擊下一步即可!
?4,點擊下一步,直到安裝界面,等待安裝完成即可!
?5,安裝完成之后,就是對MySQL進行配置了!
?6,選擇類型和網(wǎng)絡(luò)
?7,賬戶和角色
?8,windows服務(wù)
?9,應(yīng)用配置,全部是綠色勾就說明完成了!
MySQL密碼忘記了怎么辦?
- 用管理員權(quán)限打開cmd,關(guān)閉mysql服務(wù);
> net stop mysql
- 設(shè)置啟動mysql服務(wù)時跳過權(quán)限驗證;
> mysqld --console --skip-grant-tables --shared-memory
-
重新打開!重新打開!重新打開一個cmd窗口(用管理員權(quán)限),先前的窗口不要關(guān)掉,然后輸入mysql,如果成功登錄,如下圖所示:
-
使用指定的數(shù)據(jù)庫
在MySQL中就有很多系統(tǒng)自帶的數(shù)據(jù)庫,那么在操作數(shù)據(jù)庫之前就必須要確定是哪一個數(shù)據(jù)庫。使用use 命令選擇數(shù)據(jù)庫。
> use mysql;
- 修改密碼
/*update user set password=password("123456") where user="root";*/
alter user root@localhost identified by '123456';
臥槽,發(fā)現(xiàn)報錯了,不要慌,關(guān)鍵來了??!
- 先更新一下權(quán)限
flush privileges;
- 再執(zhí)行修改密碼命令
alter user root@localhost identified by '123456';
- 退出mysql
> quit;
- 關(guān)閉所有控制臺,重新打開一個,重啟mysql服務(wù),并登錄。
> net start mysql;
> mysql -uroot -p
OK!連接成功~
三、總結(jié)
本期贈送圖書:MySQL數(shù)據(jù)庫基礎(chǔ)與應(yīng)用實戰(zhàn)
618,清華社 IT BOOK 多得圖書活動開始啦!活動時間為2023年6月7日至6月18日,清華社為您精選多款高分好書,涵蓋了C++、Java、Python、前端、后端、數(shù)據(jù)庫、算法與機器學習等多個IT開發(fā)領(lǐng)域,適合不同層次的讀者。全場5折,掃碼領(lǐng)券更有優(yōu)惠哦!快來京東點擊鏈接IT BOOK多得https://pro.m.jd.com/mall/active/3Rho97HkMaGFycLzAWfFdvZdyvRn/index.html文章來源:http://www.zghlxwxcb.cn/news/detail-500266.html
????抽獎方式:評論區(qū)隨機抽取3位小伙伴免費送出??!
參與方式:關(guān)注博主、點贊、收藏、評論區(qū)評論“人生苦短,我愛MySQL!”(切記要點贊+收藏,否則抽獎無效,每個人最多評論三次?。?/strong>
活動截止時間:2023-06-12 20:00:00文章來源地址http://www.zghlxwxcb.cn/news/detail-500266.html
到了這里,關(guān)于【①MySQL】淺談數(shù)據(jù)庫系統(tǒng):MySQL的簡介與安裝配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!