最近在做項(xiàng)目開(kāi)發(fā)時(shí)用到了MySql數(shù)據(jù)庫(kù),在看了一些有關(guān)MySql的文章后,很快就上手使用了。在使用的過(guò)程中還是出現(xiàn)了一些問(wèn)題,因?yàn)槭褂玫氖蔷G色免安裝版的MySql所以在配置的時(shí)候出現(xiàn)了一些問(wèn)題,該篇文章就主要針對(duì)MySql綠色版的配置及其使用進(jìn)行討論。
MySql數(shù)據(jù)庫(kù)是有瑞典MySql AB公司開(kāi)發(fā),現(xiàn)在該公司被Oracle收購(gòu)屬于Oracle所有。同SQL Server類(lèi)似,它也是基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng),在Web應(yīng)用方面MySQL是最好的RDBMS之一,因?yàn)樗鼘儆谳p量級(jí)的RDBMS。
現(xiàn)在MySql的最新版本是5.6.17,最新下載地址:http://dev./downloads/mysql/,下載完成了接下來(lái)進(jìn)行安裝部署了,有關(guān)安裝部署的內(nèi)容在網(wǎng)上查看下教程就可以。
既然MySql采用的是SQL為基礎(chǔ),那么他就包含基本的DML、DDL、DAL,這些基本的數(shù)據(jù)庫(kù)語(yǔ)言是很容易上手使用的,另外MySql還封裝了很多數(shù)據(jù)庫(kù)操作命令,這些命令是在dos系統(tǒng)中運(yùn)行的,這是他和SQL Server的不同之處,MySql的環(huán)境是簡(jiǎn)歷在dos系統(tǒng)之上的,要使用dos命令。它和java有點(diǎn)類(lèi)似,可以說(shuō)它也是建立在虛擬機(jī)之上的,可以實(shí)現(xiàn)一次建立到處使用。想要方便的使用MySql命令還需要一些前提進(jìn)行設(shè)置,設(shè)置方法類(lèi)似于Java的環(huán)境變量,下面的方法以免安裝版本的MySql為例演示它的配置方法。
將MySql的解壓路徑配置到系統(tǒng)變量中就可以在任何地方使用MySql命令。
Note:這是配置的系統(tǒng)變量,任何使用控制臺(tái)命令的第三方命令都可以添加到系統(tǒng)變量中,系統(tǒng)變量是一個(gè)紐帶作用,在使用命令時(shí)會(huì)優(yōu)先搜索系統(tǒng)變量。
在配置了系統(tǒng)的環(huán)境變量后就可以使用MySql的bin下提供的所有服務(wù)了,接下來(lái)還需要在系統(tǒng)中安裝MySQL。
打開(kāi)解壓文件目錄,找到后綴名為.ini的文件,復(fù)制一份更名為my.ini,使用下面的內(nèi)容替換原有的內(nèi)容。
Note:[mysqld]下面的basedir和datadir需要設(shè)置為文件解壓后的路徑,在此處筆者將文件放到了D:\Program Files (x86)\MySql下。另外上面的分割線內(nèi)的內(nèi)容是可選的,可以在建立數(shù)據(jù)庫(kù)的時(shí)候重新設(shè)置,建議在創(chuàng)建時(shí)不要添加,因?yàn)闀?huì)有很多不確定因素。
my.ini文件配置好后就可以在cmd中安裝mysqld服務(wù)了,在cmd中運(yùn)行命令:mysqld --install MySQL --defaults-file="D:\Program Files(x86)\MySql\my.ini",其中的MySQL是安裝服務(wù)器的名稱(chēng),可以指定任何名稱(chēng)。安裝完成后會(huì)提示下面的信息:Service successfully installed,即表示成功安裝,安裝成功后會(huì)在系統(tǒng)的服務(wù)組策中添加該服務(wù),在使用時(shí)只需要開(kāi)啟即可。
Note:在運(yùn)行安裝命令時(shí)一定要注意必須cmd內(nèi)的路徑問(wèn)題,該路徑必須在mysql的bin所在的路徑,比如我的mysql解壓到D:\Program Files(x86)\MySql文件夾中,那么cmd當(dāng)前路徑就必須為D:\Program Files(x86)\MySql\bin,否則在安裝完成后啟動(dòng)服務(wù)時(shí)會(huì)出現(xiàn)發(fā)生錯(cuò)誤提示:系統(tǒng)錯(cuò)誤 2。系統(tǒng)找不到指定的文件。
啟動(dòng)MySQL服務(wù)器,在cmd中運(yùn)行命令:net start MySQL。
在使用完成后可以通過(guò)命令來(lái)停止服務(wù)器的運(yùn)行,通過(guò)在cmd中運(yùn)行命令:net stop MySQL,
剛安裝的服務(wù)器它的默認(rèn)名稱(chēng)為root,此時(shí)沒(méi)有密碼,可以通過(guò)cmd命令來(lái)設(shè)置名稱(chēng)和密碼。相應(yīng)的命令為:mysql -u root。另外可通過(guò)在cmd中使用update語(yǔ)句來(lái)修改root的密碼,具體設(shè)置方法如下代碼所示:
首先在DOS下進(jìn)入目錄mysql\bin,然后鍵入以下命令: mysqladmin -u root -p password ab12 。
Note:因?yàn)殚_(kāi)始時(shí)root沒(méi)有密碼,所以-p舊密碼一項(xiàng)就可以省略了。
使用remove命令,后面跟上要?jiǎng)h除的數(shù)據(jù)庫(kù)服務(wù)的名稱(chēng)。
這里介紹兩種連接方法分別為本地連接和遠(yuǎn)程連接。
在cmd中輸入并運(yùn)行命令:mysql -u root -p,然后輸入相應(yīng)的密碼。需要注意的是用戶(hù)名-u和用戶(hù)名之間也可以沒(méi)有空格,即-uroot同樣正確,但是密碼和-p之間必須要有空格。如果是剛安裝好的MYSQL,默認(rèn)的root用戶(hù)名是沒(méi)有密碼的,直接輸入mysql -u root就可以進(jìn)入MYSQL中了,MYSQL的提示符為:mysql>。
假設(shè)遠(yuǎn)程主機(jī)的IP地址為:219.243.79.8,用戶(hù)名為root,密碼為123,則在cmd中運(yùn)行如下命令:mysql -h219.243.79.8 -uroot -p 123。
增加一個(gè)用戶(hù)test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢(xún)、插入、修改、刪除的權(quán)限。首先用root用戶(hù)連入MYSQL,然后鍵入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用戶(hù)是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺(tái)電腦上登錄你的mysql數(shù)據(jù)庫(kù)并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法見(jiàn)2。
增加一個(gè)用戶(hù)test2密碼為abc,讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù)mydb進(jìn)行查詢(xún)、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫(kù)所在的那臺(tái)主機(jī)),這樣用戶(hù)即使用知道test2的密碼,他也無(wú)法從internet上直接訪問(wèn)數(shù)據(jù)庫(kù),只能通過(guò)MYSQL主機(jī)上的web頁(yè)來(lái)訪問(wèn)了。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
show命令是查看的意思,可以用來(lái)查看MySql中的一些列表信息,如:show databases顯示所有數(shù)據(jù)庫(kù)的名稱(chēng);show tables顯示一個(gè)數(shù)據(jù)庫(kù)中的所有表名稱(chēng)。
操作前要進(jìn)入相關(guān)的數(shù)據(jù)庫(kù),可以使用use命令,如:use testdb進(jìn)入名為testdb的數(shù)據(jù)庫(kù),進(jìn)入數(shù)據(jù)庫(kù)后既可以對(duì)數(shù)據(jù)庫(kù)中的對(duì)象操作,相應(yīng)的操作命令使用的是SQL語(yǔ)句,DDL、DML、DAL。
1、查看數(shù)據(jù)庫(kù)某個(gè)表的字段信息:desc 表名;
2、查看數(shù)據(jù)庫(kù)表的創(chuàng)建語(yǔ)句:show create table 表名;當(dāng)然使用同樣的方法也可以查看其它創(chuàng)建內(nèi)容的SQL語(yǔ)句,如查看數(shù)據(jù)庫(kù)的創(chuàng)建語(yǔ)句,show create database 數(shù)據(jù)庫(kù)名。
3.4.2 修改表中列類(lèi)型及名稱(chēng) (1)只修改列類(lèi)型
alter table 數(shù)據(jù)庫(kù)名.表名 modify column 列名 數(shù)據(jù)類(lèi)型,例如:將t_animal表的sex列該為boolean類(lèi)型:
alter table 表名 change column 舊列名 新列名 數(shù)據(jù)類(lèi)型,例如:將t_animal表的sex列更名為ani_sex,數(shù)據(jù)類(lèi)型修改為boolean類(lèi)型: |
|