MySQL服務(wù)的配置與應(yīng)用.ppt_第1頁
MySQL服務(wù)的配置與應(yīng)用.ppt_第2頁
MySQL服務(wù)的配置與應(yīng)用.ppt_第3頁
MySQL服務(wù)的配置與應(yīng)用.ppt_第4頁
MySQL服務(wù)的配置與應(yīng)用.ppt_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第10章 MySQL服務(wù)的配置與應(yīng)用,本章導(dǎo)讀 MySQL的概述 MySQL的安裝 啟動和停止MySQL服務(wù) MySQL服務(wù)的配置和使用 MySQL的圖形化配置 安裝phpMyAdmin,10.1 MySQL的概述,MySQL是一個高性能、多線程、多用戶、建立在客戶/服務(wù)器結(jié)構(gòu)上的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。它始于1979年,最初是Michael Widenius為瑞典的TcX公司創(chuàng)建的名為UNIREG的數(shù)據(jù)庫系統(tǒng),但當(dāng)時的UNIREG沒有SQL接口。 1996年5月,Widenius開發(fā)出了今天眾所周知的MySQL最初版本,隨后就開始在互聯(lián)網(wǎng)上公開發(fā)行。 當(dāng)前的最新版本是MySQL

2、5.6。,10.1 MySQL的概述,MySQL的主要特征如下。 性能高效而穩(wěn)定,MySQL幾乎比當(dāng)前可用的其他所有數(shù)據(jù)庫的性能都不差,因此Yahoo、Google、Cisco、HP和NASA等都采用了它作為自己的數(shù)據(jù)庫引擎。 開放源代碼,MySQL是自由的開放源代碼產(chǎn)品,可以在GPL下暢通使用。 多用戶支持,MySQL可有效地滿足501000個并發(fā)用戶的訪問,并且在超過600個用戶的限度的情況下,MySQL的性能并沒有明顯的下降。 多線程,MySQL使用核心線程的完全多線程,這意味著可以采用多CPU體系結(jié)構(gòu)。 開放性,支持ANSI SQL-99標(biāo)準(zhǔn),適用于多種操作系統(tǒng)(如Linux、Sola

3、ris、FreeBSD、OS/2、MacOS以及Windows 等),可在多種體系結(jié)構(gòu)(如Intel x86、Alpha、SPARC、PowerPC和IA64等)上運(yùn)行。 廣泛的應(yīng)用程序支持,有C、C+、Java、Perl、PHP和Python等多種客戶工具和API的支持。 支持事務(wù)處理、行鎖定、子查詢、外鍵和全文檢索等功能。 支持大數(shù)據(jù)庫處理,可對某些包含50000000個記錄的數(shù)據(jù)庫使用MySQL。 有靈活且安全的權(quán)限和口令系統(tǒng),并且允許對其他主機(jī)的認(rèn)證等等。,10.2 MySQL的安裝,幾乎所有的Linux發(fā)行版本都內(nèi)置了MySQL數(shù)據(jù)庫,CentOS Linux 也不例外,它內(nèi)置了My

4、SQL-*,只不過系統(tǒng)安裝程序默認(rèn)并不安裝它。讀者可使用下面的命令檢查系統(tǒng)是否已經(jīng)安裝了MySQL或查看已經(jīng)安裝了何種版本。 rpm -qa | grep mysql 或 (which mysqld),10.2 MySQL的安裝,如果系統(tǒng)還沒有安裝MySQL程序,要使用數(shù)據(jù)庫服務(wù),通常需要在 Linux 的安裝光盤中找到并安裝以下RPM包文件: mysql;(客戶程序和共享庫) mysqlclient ;(開發(fā)MySQL客戶端程序時使用的庫和頭文件) mysql-server;( MySQL數(shù)據(jù)庫服務(wù)器) mysql-bench;( MySQL數(shù)據(jù)庫基準(zhǔn)和性能測試工具) mysql-devel

5、。(開發(fā)MySQL程序時使用的庫和頭文件) 要安裝上述RPM包文件,可將CentOS Linux的安裝盤放入光驅(qū),加載光驅(qū)后在光盤的Packages目錄下找到相應(yīng)的RPM安裝包文件,然后使用rpm -ivh命令或yum install命令安裝 。,10.3 啟動和停止MySQL服務(wù),1啟動MySQL服務(wù) service mysqld start 2停止MySQL服務(wù) service mysqld stop 3重新啟動MySQL服務(wù) service mysqld restart 4查看MySQL服務(wù)狀態(tài) service mysqld status,10.3 啟動和停止MySQL服務(wù),5自動啟動M

6、ySQL服務(wù) 如果需要讓MySQL服務(wù)隨系統(tǒng)啟動而自動加載,可以執(zhí)行“ntsysv” 命令啟動服務(wù)配置程序,找到“mysqld”服務(wù),在其前面加上星號(*), 然后選擇“確定”即可。,10.4 MySQL服務(wù)的配置和使用,修改MySQL管理員的口令 數(shù)據(jù)庫的創(chuàng)建和刪除 表的創(chuàng)建、復(fù)制、刪除和修改 表中數(shù)據(jù)的插入、刪除和修改 索引的創(chuàng)建與刪除 用戶的創(chuàng)建和刪除 用戶權(quán)限的設(shè)置,修改MySQL管理員的口令,使用下面格式的mysqladmin命令創(chuàng)建MySQL管理員root的密碼。mysqladmin -u root password 密碼字符串要連接MySQL服務(wù)器,就必須用以下格式的mysql命

7、令。 mysql-h 主機(jī)名或IP地址-u 用戶名-p 再想修改其密碼,就必須使用以下格式的mysqladmin命令。 mysqladmin -u root -p password 新密碼字符串 show是查看命令 show databases,數(shù)據(jù)庫的創(chuàng)建和刪除,1創(chuàng)建數(shù)據(jù)庫 在MySQL中創(chuàng)建數(shù)據(jù)庫的SQL語句格式為: CREATE DATABASE 數(shù)據(jù)庫名稱; 2選擇數(shù)據(jù)庫 要選擇一個數(shù)據(jù)庫,使它成為所有事務(wù)的當(dāng)前數(shù)據(jù)庫,可使用以下格式的SQL語句。 USE 數(shù)據(jù)庫名稱; 3刪除數(shù)據(jù)庫 要刪除一個數(shù)據(jù)庫及其所有表(包括表中的數(shù)據(jù)),可使用以下格式的SQL語句。 DROP DATABAS

8、E數(shù)據(jù)庫名稱;,表的創(chuàng)建、復(fù)制、刪除和修改,1創(chuàng)建表 在MySQL中創(chuàng)建表,可使用以下格式的SQL語句。 CREATE TABLE 表名稱(字段1,字段2,字段n,表級約束) TYPE=表類型; 其中: (1)字段i(i=1,2,n)的格式為: 字段名 字段類型 字段約束,表的創(chuàng)建、復(fù)制、刪除和修改,部分常用的字段類型,表的創(chuàng)建、復(fù)制、刪除和修改,常用的字段約束,表級約束,表的創(chuàng)建、復(fù)制、刪除和修改,表類型,表的創(chuàng)建、復(fù)制、刪除和修改,【例】要在學(xué)生選課數(shù)據(jù)庫中創(chuàng)建一個名為student的表(存放學(xué)生的有關(guān)信息),可輸入下面的命令。 mysqlcreate table student( -sn

9、o varchar(7) not null, -sname varchar(20) not null, -ssex char(1) default t, -sbirthday date, -sdepa char(20), -primary key (sno) -);,表的創(chuàng)建、復(fù)制、刪除和修改,2復(fù)制表 在MySQL 5中,可以使用下面的SQL語句來復(fù)制表結(jié)構(gòu)。 CREATE TABLE 新表名稱 LIKE 源表名稱; 3刪除表 MySQL中刪除一個或多個表的SQL語句格式為: DROP TBALE 表名稱1,表名稱2,; 4修改表 在創(chuàng)建表之后,如果修改表結(jié)構(gòu),例如添加、刪除或者修改表字段,

10、創(chuàng)建或撤銷索引,更改表的名稱和類型等,則需要使用ALTER語句來進(jìn)行。ALTER語句的基本格式為: ALTER TABLE 表名稱 更改動作1,更改動作2,;,表中數(shù)據(jù)的插入、刪除和修改,1插入記錄 在MySQL中,可以使用下面基本格式的SQL語句在表中插入記錄。 INSERT INTO 表名稱(字段名1,字段名2,) VALUES (字段1的值,字段2的值,); 2刪除記錄 在MySQL中,可使用下面基本格式的SQL語句從表中刪除記錄。 DELETE FROM 表名稱 WHERE 條件表達(dá)式; 3修改記錄 除了數(shù)據(jù)的插入和刪除,表中的數(shù)據(jù)也經(jīng)常要進(jìn)行更新。為此,MySQL提供了用于修改記錄中

11、數(shù)據(jù)的SQL語句UPDATE,該語句的基本格式為: UPDATE 表名稱 SET 字段名1=字段值1,字段名2=字段值2 WHERE 條件表達(dá)式;,索引的創(chuàng)建與刪除,1在創(chuàng)建表的同時創(chuàng)建索引 使用PRIMARY KEY子句為該表指定了一個主鍵sno,MySQL就會自動為該表的sno字段創(chuàng)建索引。此外,在創(chuàng)建表時,還可以用INDEX子句或UNIQUE子句來創(chuàng)建索引。 2向已存在的表添加索引 使用CREATE INDEX語句可向已存在的表添加索引,該語句的基本格式如下: CREATE UNIQUEINDEX 索引名 ON 表名稱 (字段名1(長度),); 3刪除索引 當(dāng)不再需要索引時,可使用DRO

12、P INDEX語句刪除它,該語句的格式為: DROP INDEX 索引名 ON 表名稱;,用戶的創(chuàng)建和刪除,原來當(dāng)首次安裝MySQL時,MySQL安裝程序在數(shù)據(jù)庫mysql中設(shè)置5個MySQL授權(quán)表(如表12-5所示),由這5個授權(quán)表共同決定哪個用戶可以連接服務(wù)器、從哪里連接以及連接后可以執(zhí)行哪些操作。初始化時,表host、tables_priv和columnts_priv是空的,表user和db就決定了MySQL默認(rèn)的訪問規(guī)則。下面以MySQL管理員的身份查看一下表user和db的內(nèi)容。,授權(quán)表,用戶的創(chuàng)建和刪除,查看數(shù)據(jù)庫mysql中表user前4個字段的內(nèi)容,可使用下面的命令。 mysq

13、lselect host,user,password,select_priv from mysql.user; 要查看數(shù)據(jù)庫mysql中表db的前4個字段內(nèi)容,可使用下面的命令。 mysqlselect host,db,user,select_priv from mysql.db;,用戶的創(chuàng)建和刪除,1創(chuàng)建新用戶 要創(chuàng)建一個新用戶guest,并為他設(shè)置密碼,同時允許它從任何主機(jī)連接到數(shù)據(jù)庫服務(wù)器,可按以下步驟進(jìn)行設(shè)置。 以MySQL管理員身份從本地連接到數(shù)據(jù)庫服務(wù)器,可使用下面的命令實(shí)現(xiàn)。 mysql -u root -p 創(chuàng)建新用戶guest,并為他設(shè)置密碼,同時允許它從任何主機(jī)連接到數(shù)據(jù)庫

14、服務(wù)器,可使用下面的命令實(shí)現(xiàn)。 mysqlinsert into mysql.user (host,user,password) -values (%, guest,password(guest); 此處必須使用password()函數(shù),該函數(shù)會為密碼加密,這樣在表user 的字段password中保存的就是經(jīng)過加密的密碼。 重載MySQL授權(quán)表,可使用下面的命令實(shí)現(xiàn)。 mysqlflush privileges;,用戶的創(chuàng)建和刪除,2刪除用戶 刪除用戶應(yīng)使用delete語句。 【例】要刪除用戶guest,可使用下面的命令。 mysql delete from mysql.user where

15、 user=guest; 3更改用戶密碼 由于MySQL授權(quán)表實(shí)際上與MySQL常規(guī)表沒有什么本質(zhì)區(qū)別,因此也可以用UPDATE語句來修改其內(nèi)容,包括修改用戶密碼。,用戶權(quán)限的設(shè)置,實(shí)際上,MySQL授權(quán)表中權(quán)限字段有以下兩種形式。 (1)在表user、db和host中,所有權(quán)限字段都被聲明為ENUM(N, Y),即每一個權(quán)限字段值都可以被設(shè)置為N或Y,并且缺省值為N,表12-6列出了表user、db和host中可設(shè)置權(quán)限的字段。 (2)在表tables_priv和columns_priv中,權(quán)限字段被聲明為SET類型,即可以從所定義的權(quán)限集合中選擇任意個權(quán)限,表12-7列出了表tables_

16、priv和columns_priv中權(quán)限字段及可設(shè)置的權(quán)限。,用戶權(quán)限的設(shè)置,授權(quán)表user、db和host中可設(shè)置的權(quán)限,用戶權(quán)限的設(shè)置,授權(quán)表tables_priv和columns_priv中權(quán)限字段和可設(shè)置的權(quán)限,用戶權(quán)限的設(shè)置,(1)使用GRANT語句授權(quán)GRANT語句的基本格式如下: GRANT 權(quán)限列表(字段列表) ON 數(shù)據(jù)庫名稱.表名稱 TO 用戶名域名或IP地址 IDENTIFIED BY 密碼值WITH GRANT OPTION;,設(shè)置“域名或IP地址”的幾種常見情況,用戶權(quán)限的設(shè)置,(2)授予用戶不同級別的訪問權(quán)限 例如,要新建一個用戶tom,讓他能從子網(wǎng)192.168.

17、16.0中任何主機(jī)連接到數(shù)據(jù)庫服務(wù)器,可以讀取數(shù)據(jù)庫xsxk的內(nèi)容,并且能修改表course中字段techer的值,可使用下面的命令。 mysqlgrant select on xsxk.* to tom192.168.16.% identified by 123456; mysqlgrant update(teacher) on xsxk.course to tom192.168.16.% ;,使用GRANT語句設(shè)置權(quán)限運(yùn)用級別的示例,用戶權(quán)限的設(shè)置,(3)授予用戶管理權(quán)限的權(quán)利 例如,MySQL管理員要授予用戶admin可以從本地連接到數(shù)據(jù)庫服務(wù)器,對學(xué)生選課數(shù)據(jù)庫xsxk具有完全訪問權(quán)限

18、,并可將其所擁有的權(quán)限授予其他用戶,可使用下面的命令。 mysqlgrant all on xsxk.* to adminlocalhost identified by sW56$Azx - with grant option; 2使用REVOKE語句撤權(quán) REVOKE語句的基本格式如下: REVOKE 權(quán)限列表(字段列表) ON 數(shù)據(jù)庫名稱.表名稱 FROM 用戶名域名或IP地址,10.5 MySQL的圖形化配置,目前,架設(shè)動態(tài)Web站點(diǎn)比較流行的是采用Linux上的Apache+MySQL+PHP(簡稱LAMP)組合方案,即用Apach作Web服務(wù)器,MySQL充當(dāng)后臺管理數(shù)據(jù)庫,用PHP

19、開發(fā)Web程序。 采用這種組合方案來開發(fā)和架設(shè)Web站點(diǎn),具有免版權(quán)費(fèi)、系統(tǒng)效率高、靈活、可擴(kuò)展、穩(wěn)定和高度安全等優(yōu)點(diǎn),只是在站點(diǎn)的架設(shè)、升級與維護(hù)上有一定的難度。MySQL標(biāo)準(zhǔn)發(fā)行版本沒有提供圖形界面管理工具,因此使用起來有些困難。為了解決這個問題,Tobias Ratschiller開發(fā)了一套用于管理MySQL數(shù)據(jù)庫的開放源代碼的工具phpMyAdmin(如圖12-48所示為phpMyAdmin的官方網(wǎng)站)。在經(jīng)過眾多愛好者的共同修改與再開發(fā)后,目前使用phpMyAdmin已經(jīng)可以很方便地完成大部分MySQL數(shù)據(jù)庫管理員需要完成的工作 。,10.6 安裝phpMyAdmin,配置phpMy

20、Admin 配置phpMyAdmin虛擬目錄 使用phpMyAdmin,10.6 安裝phpMyAdmin,phpMyAdmin是用PHP編制的一種B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的“軟件”,與其說是軟件,還不如說是一些放在服務(wù)器端的通過瀏覽器界面管理的頁面程序文件,因此安裝phpMyAdmin實(shí)際上就是將它解壓到一個允許執(zhí)行PHP的目錄下。安裝的具體步驟如下。 從 將tar文件解壓縮到/root,可執(zhí)行下面的命令。 tar xvzf phpMyAdmin-*.tar.gz 該命令執(zhí)行后,將在/root目錄下生成一個子目錄phpMyAdmin-2.10.3-all-languages。 為了便于測

21、試,將子目錄phpMyAdmin-2.10.3-all-languages移動到默認(rèn)Apache Web站點(diǎn)的主目錄/var/www/html下,并改名為phpMyAdmin,可使用下面的命令。 mv phpMyAdmin-2.10.3-all-languages /var/www/html/phpMyAdmin,配置phpMyAdmin,將phpMyAdmin安裝到系統(tǒng)中后,還需要進(jìn)行一定的配置才能正常使用。配置phpMyAdmin,實(shí)際上是通過修改配置文件config.inc.php實(shí)現(xiàn)的,該文件位于剛建立的目錄/var/www/html/phpMyAdmin中。,配置phpMyAdmin

22、, $cfgPmaAbsoluteUri = ; $i = 0; $i+; $cfgServers$ihost = localhost; $cfgServers$iport = ; $cfgServers$isocket = ; $cfgServers$iconnect_type = tcp; $cfgServers$iextension = mysql; $cfgServers$icompress = FALSE; $cfgServers$icontroluser = ; $cfgServers$icontrolpass = ; $cfgServers$iauth_type = config

23、; $cfgServers$iuser = root; $cfgServers$ipassword = ilGHW56p; $cfgServers$ionly_db = ; ,配置phpMyAdmin,完成了上述設(shè)置后,要測試phpMyAdmin能否正常工作,可在本地瀏覽器的地址欄中輸入“http:/localhost/phpMyAdmin”。如果配置無誤的話,則能看到phpMyAdmin管理界面 。,配置phpMyAdmin虛擬目錄, 配置DNS。假設(shè)在DNS服務(wù)器上已經(jīng)創(chuàng)建了一個名為“”的主區(qū)域,那么可在該區(qū)域的配置文件中加入下面的一條CNAME(別名)記錄。 mysql IN CNAME

24、 . 安裝phpMyAdmin。由于前面已經(jīng)配置了phpMyAdmin,因此此時只需要使用下面的命令將/var/www/html/phpMyAdmin目錄移動到/var目錄中。 mv /var/www/html/phpMyAdmin /var,配置phpMyAdmin虛擬目錄, 配置phpMyAdmin虛擬目錄。這是通過修改Apache服務(wù)的配置文件/etc/httpd/conf/httpd.conf來實(shí)現(xiàn)的。在該配置文件中可加入以下內(nèi)容。 Alias /pma /var/phpMyAdmin# 為/var/phpMyAdmin創(chuàng)建虛擬目錄pma # 以下內(nèi)容為虛擬目錄設(shè)置權(quán)限 Options

25、 FollowSymLinks# 允許服務(wù)器在該目錄中使用符號鏈接 AllowOverride None# 禁止使用.htaccess文件 AuthType Basic# 設(shè)置認(rèn)證類型為基本認(rèn)證 AuthName Please Login# 將在提示對話框中顯示“Please Login” AuthUserFile /etc/apachepasswd/userpwd# 指定用來存放用戶密碼的文件 require user root# 設(shè)置能訪問該虛擬目錄的用戶為root require user mysql 建立密碼文件并為用戶設(shè)置密碼。使用下面的命令可創(chuàng)建一個新的記錄用戶名和用戶密碼的密碼文

26、件。 mkdir /etc/apachepasswd cd /etc/apachepasswd htpasswd -c userpwd root,配置phpMyAdmin虛擬目錄, 設(shè)置允許Apache守護(hù)進(jìn)程httpd訪問phpMyAdmin虛擬目錄。在Red Hat Enterprise Linux 5中,由于SELinux被默認(rèn)安裝并被開啟使用,在默認(rèn)的SELinux安全配置中,httpd被目標(biāo)策略所控制,因此為了讓用戶能夠通過網(wǎng)絡(luò)訪問phpMyAdmin虛擬目錄,就必須設(shè)置允許Apache守護(hù)進(jìn)程httpd訪問phpMyAdmin虛擬目錄。具體設(shè)置方法是,使用下面的命令讓httpd可以讀取在虛擬目錄phpMyAdmin中被標(biāo)記為httpd_sys_content_t的所有文件。 chcon -R -h -t httpd_sys_content_t /var/phpMyAdmin,配置phpMyAdmin虛擬目錄, 在MySQL中創(chuàng)建用戶。為了確保MySQL數(shù)據(jù)庫的安全,應(yīng)為MySQL管理員(root用戶)設(shè)置密碼,該密碼可以與剛才創(chuàng)建的用于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論