作者簡(jiǎn)介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等
作者主頁(yè): 七七的個(gè)人主頁(yè)
文章收錄專欄: 七七的閑談
歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!????
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。
1. 什么是數(shù)據(jù)庫(kù)?
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。
每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)或多個(gè)不同的 API 用于創(chuàng)建,訪問(wèn),管理,搜索和復(fù)制所保存的數(shù)據(jù)。
我們也可以將數(shù)據(jù)存儲(chǔ)在文件中,但是在文件中讀寫數(shù)據(jù)速度相對(duì)較慢。
所以,現(xiàn)在我們使用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)來(lái)存儲(chǔ)和管理大數(shù)據(jù)量。
所謂的關(guān)系型數(shù)據(jù)庫(kù),是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
RDBMS 即關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(Relational Database Management System)的特點(diǎn):
- 1.數(shù)據(jù)以表格的形式出現(xiàn)
- 2.每行為各種記錄名稱
- 3.每列為記錄名稱所對(duì)應(yīng)的數(shù)據(jù)域
- 4.許多的行和列組成一張表單
- 5.若干的表單組成database
2. RDBMS 術(shù)語(yǔ)
在我們開(kāi)始學(xué)習(xí)MySQL 數(shù)據(jù)庫(kù)前,讓我們先了解下RDBMS的一些術(shù)語(yǔ):
- 數(shù)據(jù)庫(kù): 數(shù)據(jù)庫(kù)是一些關(guān)聯(lián)表的集合。
- 數(shù)據(jù)表: 表是數(shù)據(jù)的矩陣。在一個(gè)數(shù)據(jù)庫(kù)中的表看起來(lái)像一個(gè)簡(jiǎn)單的電子表格。
- 列: 一列(數(shù)據(jù)元素) 包含了相同類型的數(shù)據(jù), 例如郵政編碼的數(shù)據(jù)。
- 行:一行(元組,或記錄)是一組相關(guān)的數(shù)據(jù),例如一條用戶訂閱的數(shù)據(jù)。
- 冗余:存儲(chǔ)兩倍數(shù)據(jù),冗余降低了性能,但提高了數(shù)據(jù)的安全性。
- 主鍵:主鍵是唯一的。一個(gè)數(shù)據(jù)表中只能包含一個(gè)主鍵。你可以使用主鍵來(lái)查詢數(shù)據(jù)。
- 外鍵:外鍵用于關(guān)聯(lián)兩個(gè)表。
- 復(fù)合鍵:復(fù)合鍵(組合鍵)將多個(gè)列作為一個(gè)索引鍵,一般用于復(fù)合索引。
- 索引:使用索引可快速訪問(wèn)數(shù)據(jù)庫(kù)表中的特定信息。索引是對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)。類似于書(shū)籍的目錄。
- 參照完整性: 參照的完整性要求關(guān)系中不允許引用不存在的實(shí)體。與實(shí)體完整性是關(guān)系模型必須滿足的完整性約束條件,目的是保證數(shù)據(jù)的一致性。
MySQL 為關(guān)系型數(shù)據(jù)庫(kù)(Relational Database Management System), 這種所謂的"關(guān)系型"可以理解為"表格"的概念, 一個(gè)關(guān)系型數(shù)據(jù)庫(kù)由一個(gè)或數(shù)個(gè)表格組成
表頭(header): 每一列的名稱;
列(col): 具有相同數(shù)據(jù)類型的數(shù)據(jù)的集合;
行(row): 每一行用來(lái)描述某條記錄的具體信息;
值(value): 行的具體信息, 每個(gè)值必須與該列的數(shù)據(jù)類型相同;
鍵(key): 鍵的值在當(dāng)前列中具有唯一性。
3. MySQL數(shù)據(jù)庫(kù)
MySQL 是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
,由瑞典 MySQL AB 公司開(kāi)發(fā),目前屬于 Oracle 公司
。MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性
。
MySQL 是開(kāi)源的
,目前隸屬于 Oracle 旗下產(chǎn)品。
MySQL 支持大型的數(shù)據(jù)庫(kù)
??梢蕴幚?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。
MySQL 使用標(biāo)準(zhǔn)的 SQL 數(shù)據(jù)語(yǔ)言形式。
MySQL 可以運(yùn)行于多個(gè)系統(tǒng)上
,并且支持多種語(yǔ)言。這些編程語(yǔ)言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
MySQL 對(duì) PHP 有很好的支持,PHP 是很適合用于 Web 程序開(kāi)發(fā)
。
MySQL 支持大型數(shù)據(jù)庫(kù),支持 5000 萬(wàn)條記錄的數(shù)據(jù)倉(cāng)庫(kù),32 位系統(tǒng)表文件最大可支持 4GB,64 位系統(tǒng)支持最大的表文件為8TB。
MySQL 是可以定制的
,采用了 GPL 協(xié)議,你可以修改源碼來(lái)開(kāi)發(fā)自己的 MySQL 系統(tǒng)。
4. 使用說(shuō)明
1.如果是用 MySQL + Apache
,使用的又是 FreeBSD 網(wǎng)絡(luò)操作系統(tǒng)的話,安裝時(shí)候你應(yīng)按注意到FreeBSD的版本問(wèn)題,在 FreeBSD 的 3.0 以下版本來(lái)說(shuō),MySQL Source 內(nèi)含的 MIT-pthread 運(yùn)行是正常的,但在這版本以上,你必須使用 native threads,也就是加入一個(gè) with-named-thread-libs=-lc_r
的選項(xiàng)。
2.如果在 COMPILE 過(guò)程中出了問(wèn)題,請(qǐng)先檢查你的 gcc版本是否在 2.81 版本以上,gmake 版本是否在3.75以上
。
3.如果不是版本的問(wèn)題,那可能是你的內(nèi)存不足,請(qǐng)使用 ./configure--with-low-memory
來(lái)加入。
4.如果要重新做你的 configure,那么你可以鍵入 rm config.cache
和 make clean
來(lái)清除記錄。
5.把 MySQL 安裝在 /usr/local 目錄下
,這是缺省值,您也可以按照你的需要設(shè)定你所安裝的目錄。
服務(wù)無(wú)法啟動(dòng)
1、首先,查看MySQL的服務(wù)是否存在
。如果不存在需要先安裝服務(wù)。安裝服務(wù)的方法是進(jìn)入MySQL Server的安裝目錄,找到bin目錄,然后找到文件mysqld.exe
,使用命令行運(yùn)行 mysqld --install MySQL57
安裝服務(wù)(如果不成功嘗試使用管理員方式運(yùn)行,MySQL57是服務(wù)的名字,默認(rèn)是MySQL)。
2、如果上述方法安裝服務(wù)失敗,則可采用下述方法安裝(成功則跳過(guò)此步)。搜索程序“regedit.exe”
,即注冊(cè)表編輯器,打開(kāi)后找到 “計(jì)算機(jī)”——"HKEY_LOCAL_MACHINE"——“SYSTEM”——“CurrentControlSet”——“Services”
,然后在該目錄下新建項(xiàng)MySQL57(服務(wù)的名字)即可成功建立項(xiàng)目。
3、找到新建的項(xiàng),然后可以看到其中有ImagePath這一項(xiàng),這其實(shí)是可執(zhí)行文件的路徑。因?yàn)镸ySQL服務(wù)是需要靠mysqld這個(gè)命令來(lái)啟動(dòng)的,所以檢查下ImagePath的路徑是否正確
。路徑錯(cuò)誤導(dǎo)致啟動(dòng)服務(wù)時(shí)報(bào)錯(cuò)—“無(wú)法找到文件”。
4、修改ImagePath的內(nèi)容為正確的路徑值,正確的值是"D:\MySQL\MySQL Server 5.7\bin\mysqld" --defaults-file="D:\MySQL\MySQL Server 5.7\my.ini" MySQL 是這種形式的
,對(duì)照一下,如果路徑不對(duì),修改過(guò)來(lái)。
5、重啟計(jì)算機(jī),再次啟動(dòng)服務(wù),并可以成功運(yùn)行MySQL服務(wù)。
5. 報(bào)錯(cuò)解決
1.Starting MySQL.Manager of pid-file quit without updating fi[失敗]
關(guān)于這個(gè)錯(cuò)誤原因有很多,最大的可能是沒(méi)有創(chuàng)建測(cè)試數(shù)據(jù)庫(kù),可以用/usr/local/mysql/scripts/mysql_install_db –user=mysql命令進(jìn)行創(chuàng)建;另外一個(gè)原因可能是權(quán)限設(shè)置問(wèn)題,需要賦予mysql的data權(quán)限,可以用chmod -R 命令。
2.
FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults If you are using a binary release,you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run ‘make install’ first.
這個(gè)錯(cuò)誤,是沒(méi)有指明mysql的data路徑導(dǎo)致的,可以很簡(jiǎn)單的進(jìn)行解決:
vim /etc/my.cnf
在[mysqld] 后面加上路徑:
basedir = /usr/local/mysql
datadir =/opt/data;
3.-bash: mysql: command not found
用mysql命令進(jìn)行登陸mysql報(bào)錯(cuò),原因是沒(méi)有設(shè)置環(huán)境變量,需要設(shè)置,或者進(jìn)入到bin目錄進(jìn)行登陸cd /usr/local/mysql/bin
mysql -u root
4.ERROR 1130: Host ’192.168.1.3′ is not allowed to connect to this MySQL server
用mysql遠(yuǎn)程工具鏈接數(shù)據(jù)庫(kù)報(bào)錯(cuò),這個(gè)錯(cuò)誤原因是沒(méi)有開(kāi)放遠(yuǎn)程鏈接功能,可以在mysql里面輸入如下命令進(jìn)行解決:GRANT ALL PRIVILEGES ON *.* TO ’root‘@’%' IDENTIFIED BY ’password’ WITH GRANT OPTION
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-502875.html
關(guān)于【MySQL】MySQL數(shù)據(jù)庫(kù),RDBMS 術(shù)語(yǔ),使用說(shuō)明和報(bào)錯(cuò)解決的詳細(xì)講解,七七就先分享到這里了,如果你認(rèn)為這篇文章對(duì)你有幫助,請(qǐng)給七七點(diǎn)個(gè)贊吧,如果發(fā)現(xiàn)什么問(wèn)題,歡迎評(píng)論區(qū)留言??!????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-502875.html
到了這里,關(guān)于【MySQL】MySQL數(shù)據(jù)庫(kù),RDBMS 術(shù)語(yǔ),使用說(shuō)明和報(bào)錯(cuò)解決的詳細(xì)講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!