「MySQL」MySQL基礎(chǔ)知識(shí)及數(shù)據(jù)庫安裝

一、MySQL數(shù)據(jù)庫基礎(chǔ)知識(shí)

  • 概念

MySQL是一款開源、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(DBMS恃泪,Database Management System)。關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存放在結(jié)構(gòu)化的一個(gè)或多個(gè)表中犀斋,表之間相互關(guān)聯(lián)贝乎,反應(yīng)客觀事物的本質(zhì)聯(lián)系。數(shù)據(jù)庫管理系統(tǒng)提供對(duì)數(shù)據(jù)的安全性和完整性控制叽粹。

關(guān)系型數(shù)據(jù)庫中览效,數(shù)據(jù)庫表是一系列二維數(shù)組的集合蒙具,用來存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù)的邏輯,由記錄(行)和字段(列)組成朽肥。

  • 主鍵

主鍵(Primary Key)又稱主碼禁筏,用于唯一的標(biāo)識(shí)表中的每一條記錄,可以由一列或多列組合衡招。主鍵列上不能重復(fù)值篱昔,也不能為空(null),用來做確定數(shù)據(jù)唯一性的標(biāo)識(shí)始腾。

  • SQL語言

SQL(Structured Query Language)州刽,結(jié)構(gòu)化查詢語言,用來對(duì)數(shù)據(jù)庫進(jìn)行增浪箭、刪穗椅、改、查等操作的語言奶栖。主要包括以下四個(gè)部分:

  1. 數(shù)據(jù)庫定義語言(DDL);
  2. 數(shù)據(jù)庫操作語言(DML);
  3. 數(shù)據(jù)庫查詢語言(DQL);
  4. 數(shù)據(jù)控制語言(DCL);
  • 數(shù)據(jù)庫訪問接口

不同的程序設(shè)計(jì)語言會(huì)有不同的數(shù)據(jù)庫訪問接口匹表,程序語言通過接口執(zhí)行SQL語句,進(jìn)行數(shù)據(jù)庫管理宣鄙,主要接口有以下幾種:

  1. ODBC(Open Database Connectivity)袍镀,開放數(shù)據(jù)庫互聯(lián),為訪問不同的SQL數(shù)據(jù)庫提供了公共接口冻晤,使用SQL作為訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)苇羡,一個(gè)應(yīng)用程序可以通過共同的一組代碼訪問不同的SQL數(shù)據(jù)庫管理系統(tǒng)(DBMS)。Access鼻弧、MySQL设江、Oracle數(shù)據(jù)庫均可用ODBC API進(jìn)行訪問。
  2. JDBC(Java Database Connectivity)攘轩,Java數(shù)據(jù)庫連接叉存,是Java連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法,通過執(zhí)行SQL語句的Java API撑刺,為多種關(guān)系型數(shù)據(jù)庫提供統(tǒng)一訪問鹉胖,是一組用Java語言編寫的類和接口握玛。
  3. ADO.NET(ADO:ActiveX Data Objects)够傍,微軟.NET框架下一組用于和數(shù)據(jù)源交互的面相對(duì)象的庫。提供了對(duì)關(guān)系型數(shù)據(jù)挠铲、XML和應(yīng)用程序數(shù)據(jù)的訪問冕屯,允許和不同類型的數(shù)據(jù)庫和數(shù)據(jù)庫進(jìn)行交互。
  4. PDO(PHP Data Object)拂苹,為PHP訪問數(shù)據(jù)庫定義了一個(gè)輕量級(jí)安聘、一致性的接口,提供一個(gè)數(shù)據(jù)訪問的抽象層,這樣無論使用什么數(shù)據(jù)庫浴韭,都可以通過一致的函數(shù)執(zhí)行查詢和獲取數(shù)據(jù)丘喻,為PHP5后加入的功能。

二念颈、Linux環(huán)境安裝MySQL

  • 環(huán)境搭建

我使用的為CentOS系統(tǒng)泉粉,版本為7,使用虛擬機(jī)(WMware fusion)安裝的系統(tǒng)榴芳,如有需要可自行下載系統(tǒng)并安裝嗡靡,地址為:Linux操作系統(tǒng)點(diǎn)擊下載,下載及安裝過程就不做敘述窟感,可自行查找資料安裝讨彼。
安裝好以后可以通過命令:ifconfig來查看主機(jī)的地址,如果是購買的服務(wù)器柿祈,則會(huì)提供外網(wǎng)的訪問地址哈误,我們通過地址來連接服務(wù)器。比如我的服務(wù)器地址為:127.0.0.1躏嚎,則命令如下:
ssh root@127.0.0.1
其中root為登錄賬戶黑滴,127.0.0.1為服務(wù)器IP地址。在當(dāng)前計(jì)算機(jī)上首次登錄會(huì)提示是否繼續(xù)連接紧索,輸入yes回車即可袁辈。因?yàn)槲沂切卵b的CentOS系統(tǒng),所以服務(wù)器上沒有安裝MySQL珠漂,如果不是新系統(tǒng)晚缩,可以使用如下命令查看是否安裝過MySQL:
rpm -qa|grep -i mysql
如安裝過,則會(huì)顯示安裝的MySQL情況媳危,類似下圖:

old-mysql-info.png
先通過如下命令停止數(shù)據(jù)庫運(yùn)行:

service mysqld stop

然后可通過如下命令進(jìn)行刪除:
刪除方法一:
rpm -ev mysql-community-libs-compat-8.0.12-1.el7.x86_64
如提示如下錯(cuò)誤則可用方法二進(jìn)行刪除操作:

error-rpm-ev-mysql.png
刪除方法二:

rpm -ev mysql-community-libs-8.0.12-1.el7.x86_64 --nodeps

重復(fù)以上步驟將顯示安裝的mysql全部刪除荞彼。
然后通過如下命令查找mysql安裝的相關(guān)文件夾:

find / -name mysql

執(zhí)行結(jié)果類似下圖:


find-mysql-path.png

然后通過如下命令逐個(gè)刪除即可:

rm -rf /etc/selinux/targeted/active/modules/100/mysql
  • 安裝MySQL

MySQL推薦使用RPM包進(jìn)行Linux平臺(tái)下的安裝,首先打開MySQL官網(wǎng)查看我們需要的數(shù)據(jù)庫版本及下載地址:MySQL下載地址網(wǎng)站待笑,打開后找到如下圖所示部分:

mysql-address.jpg
如已經(jīng)登錄過鸣皂,則直接右鍵Download即可復(fù)制下載地址鏈接,否則點(diǎn)擊Download按鈕暮蹂,后如下圖:
mysql-address-login.jpg

右鍵紅色標(biāo)注部分寞缝,即可復(fù)制到下載地址鏈接,那么如果我們不想使用8.0版本仰泻,使用其他版本如果操作呢荆陆?我們以5.7版本為例進(jìn)行說明。
5.7版本的rpm文件地址集侯,地址為:https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm被啼,然后使用如下命令進(jìn)行下載YUM源rpm安裝包(此命令應(yīng)在安裝MySQL的服務(wù)器上執(zhí)行帜消,先進(jìn)入存放下載文件的目錄,可自己選擇浓体,這里我們進(jìn)入home目錄):

cd / #注釋:進(jìn)入根目錄
cd home  #注釋:進(jìn)入home目錄
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm #注釋:使用wget命令下載資源文件

執(zhí)行結(jié)果如下圖:
wget-mysql-rpm.jpg

然后使用ls命令來查看文件泡挺,如下圖:

ls-mysql-rpm.jpg

通過如下命令進(jìn)行MySQL源安裝:

yum localinstall mysql57-community-release-el7-11.noarch.rpm

如下圖:
localinstall-mysql-rpm.jpg

PS:localinstall命令的優(yōu)點(diǎn)在于會(huì)自動(dòng)管理安裝軟件包所需的依賴關(guān)系,不需RPM一個(gè)個(gè)安裝命浴,類似命令為:yum localupdate 實(shí)現(xiàn)本地自動(dòng)更新.
在安裝過程中會(huì)有提示信息粘衬,根據(jù)提示輸入y即可。

通過如下命令查看MySQL源是否安裝成功:

yum repolist enabled | grep mysql

也可使用如下命令查看:

yum repolist enabled | grep "mysql.*-community.*"

結(jié)果如下圖:
localinstall-result-mysql-rpm.jpg

然后通過如下命令安裝MySQL:

yum install mysql-community-server

執(zhí)行結(jié)果如下圖:
install-result-mysql-rpm..jpg

PS:安裝過程中會(huì)有提示咳促,輸入y即可稚新。安裝完成后會(huì)有完畢提示。
至此MySQL安裝完畢跪腹,下面啟動(dòng)MySQL褂删,并查看狀態(tài),如下命令:

service mysqld start    #注釋:啟動(dòng)mysql
service mysqld status  #注釋:查看狀態(tài)

正常狀態(tài)如下圖:
start-status-mysql.jpg

設(shè)置開機(jī)啟動(dòng)命令如下:

systemctl enable mysqld
systemctl daemon-reload

啟動(dòng)狀態(tài)查看命令如下:

systemctl status mysqld.service

至此冲茸,MySQL安裝成功屯阀!

1. MySQL配置

設(shè)置密碼:數(shù)據(jù)庫安裝好以后,需要通過以下命令獲取臨時(shí)密碼:

grep 'temporary password' /var/log/mysqld.log

結(jié)果如下:
temporary-password-mysql.jpg

紅色框內(nèi)即為生成的臨時(shí)密碼轴术,可使用此密碼登陸數(shù)據(jù)庫难衰,復(fù)制,保存好此密碼逗栽!以便登錄數(shù)據(jù)庫后更改密碼盖袭。

2. 登錄數(shù)據(jù)庫

通過如下命令登錄數(shù)據(jù)庫:

mysql -u root -pu-hpCcMed3j+
#注釋:格式:mysql -u 用戶名 -p密碼 
#注釋:-p與密碼之間不能出現(xiàn)空格

mysql -u root -p
#注釋:輸入此命令后會(huì)提示輸入密碼。

通過以上命令即可成功登錄數(shù)據(jù)庫彼宠,如下圖:
login-mysql.png
3. 修改密碼

通過如下命令修改密碼:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pwd@123456'; 
#注釋:Pwd@123456為新密碼鳄虱,新密碼需包含大小寫字符和特殊符號(hào),至少8位

執(zhí)行成功可看到如下輸出:
alert-password-mysql.jpg
4. 開放遠(yuǎn)程用戶連接權(quán)限

默認(rèn)通過上面操作以后凭峡,是不可以通過遠(yuǎn)程軟件連接到數(shù)據(jù)庫的拙已,需要通過如下命令設(shè)置權(quán)限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pwd@123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

執(zhí)行直接如下:
grant-mysql.jpg

我們可以通過以下命令查看下數(shù)據(jù)庫用戶及主機(jī)信息:

use mysql;
select host, user from user;

結(jié)果如下圖:
show-user-mysql.jpg

添加新用戶:

create user 'admin' identified by 'Pwd@123456';

賦予用戶所有權(quán)限:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'Pwd@123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

PS:以上提權(quán)語句在MySQL8.0會(huì)出現(xiàn)語法錯(cuò)誤,8.0的語法是有區(qū)別的摧冀!


PS:以上操作均在root權(quán)限下做的操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末倍踪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子索昂,更是在濱河造成了極大的恐慌建车,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件楼镐,死亡現(xiàn)場(chǎng)離奇詭異癞志,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)框产,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門凄杯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秉宿,你說我怎么就攤上這事戒突。” “怎么了描睦?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵膊存,是天一觀的道長。 經(jīng)常有香客問我忱叭,道長隔崎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任韵丑,我火速辦了婚禮爵卒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撵彻。我一直安慰自己钓株,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布陌僵。 她就那樣靜靜地躺著轴合,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碗短。 梳的紋絲不亂的頭發(fā)上受葛,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音偎谁,去河邊找鬼奔坟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搭盾,可吹牛的內(nèi)容都是我干的咳秉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼鸯隅,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼澜建!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝌以,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤炕舵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后跟畅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咽筋,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年徊件,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奸攻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒜危。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖睹耐,靈堂內(nèi)的尸體忽然破棺而出辐赞,到底是詐尸還是另有隱情,我是刑警寧澤硝训,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布响委,位于F島的核電站,受9級(jí)特大地震影響窖梁,放射性物質(zhì)發(fā)生泄漏赘风。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一纵刘、第九天 我趴在偏房一處隱蔽的房頂上張望邀窃。 院中可真熱鬧,春花似錦彰导、人聲如沸蛔翅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽山析。三九已至,卻和暖如春掏父,著一層夾襖步出監(jiān)牢的瞬間笋轨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工赊淑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爵政,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓陶缺,卻偏偏與公主長得像钾挟,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饱岸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容