![MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件_第1頁(yè)](http://file4.renrendoc.com/view/88dccae5687832127a08f7f5d474f017/88dccae5687832127a08f7f5d474f0171.gif)
![MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件_第2頁(yè)](http://file4.renrendoc.com/view/88dccae5687832127a08f7f5d474f017/88dccae5687832127a08f7f5d474f0172.gif)
![MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件_第3頁(yè)](http://file4.renrendoc.com/view/88dccae5687832127a08f7f5d474f017/88dccae5687832127a08f7f5d474f0173.gif)
![MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件_第4頁(yè)](http://file4.renrendoc.com/view/88dccae5687832127a08f7f5d474f017/88dccae5687832127a08f7f5d474f0174.gif)
![MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件_第5頁(yè)](http://file4.renrendoc.com/view/88dccae5687832127a08f7f5d474f017/88dccae5687832127a08f7f5d474f0175.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MySQL數(shù)據(jù)庫(kù)介紹深圳市艾派應(yīng)用系統(tǒng)有限公司1MySQL數(shù)據(jù)庫(kù)介紹深圳市艾派應(yīng)用系統(tǒng)有限公司1Mysql簡(jiǎn)介Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介Mysql常用操作Mysql管理維護(hù)Mysql數(shù)據(jù)庫(kù)特點(diǎn)越來(lái)越多的企業(yè)級(jí)特性Mysql數(shù)據(jù)庫(kù)安裝Mysql連接工具M(jìn)ysql體系結(jié)構(gòu)表引擎字符集問題常用數(shù)據(jù)類型常用Sql語(yǔ)句數(shù)據(jù)庫(kù)備份數(shù)據(jù)庫(kù)恢復(fù)數(shù)據(jù)庫(kù)維護(hù)與修復(fù)用戶權(quán)限管理MySQL數(shù)據(jù)庫(kù)培訓(xùn)目錄數(shù)據(jù)庫(kù)安全加固2Mysql簡(jiǎn)介Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介Mysql常用操作MysqMySQL簡(jiǎn)介MySQL常用操作MySQL管理維護(hù)3MySQL簡(jiǎn)介3常用的數(shù)據(jù)庫(kù)服務(wù)器:商業(yè):oracle,SQLserver,DB2開源:MySQL,postgreSQL,SQLiteMySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu),對(duì)于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。分標(biāo)準(zhǔn)版和企業(yè)版本,企業(yè)版本提供EnterpriseMonitor工具,目前版本已經(jīng)到達(dá)MySQL6。MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介4常用的數(shù)據(jù)庫(kù)服務(wù)器:MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介4開放源代碼小巧易用高性能低成本(是ORACLE價(jià)格的1/10)高可靠高速發(fā)展的數(shù)據(jù)庫(kù)幾乎支持所有的平臺(tái)廣泛應(yīng)用在嵌入式、網(wǎng)站應(yīng)用、企業(yè)級(jí)應(yīng)用J2EE架構(gòu)、.NET架構(gòu)、還有LAMP架構(gòu)眾多的第三方支持(與LINBIT達(dá)成合作伙伴關(guān)系)支持web2.0得天獨(dú)厚MySQL數(shù)據(jù)庫(kù)特點(diǎn)5開放源代碼MySQL數(shù)據(jù)庫(kù)特點(diǎn)5MySQL的技術(shù)進(jìn)展MySQL3.23開始支持外鍵(InnoDB)MySQL4.1開始支持R-trees索引(MyISAM)MySQL從5.0開始,全面支持視圖、存儲(chǔ)過程、函數(shù)和觸發(fā)器功能MySQL5.1支持分區(qū)功能MySQL5.1支持行復(fù)制MySQL6.0將實(shí)現(xiàn)雙向復(fù)制逐步增加對(duì)非結(jié)構(gòu)化數(shù)據(jù)XML的支持特性MySQL6.0將支持最新的FALCON存儲(chǔ)引擎著名的數(shù)據(jù)庫(kù)大師JimStarkey現(xiàn)在在MySQL開發(fā)Falcon。Falcon面向的客戶是企業(yè)級(jí)用戶。Oracle跟MySQL簽定了合作協(xié)議,用戶可以繼續(xù)選擇InnoDB存儲(chǔ)引擎越來(lái)越多的企業(yè)級(jí)特性6MySQL的技術(shù)進(jìn)展越來(lái)越多的企業(yè)級(jí)特性6軟件下載登陸官方網(wǎng)站,下載最新的released版本。創(chuàng)建MySQL用戶和用戶組#groupaddmysql#useradd-r-gmysqlmysql解壓MySQL #cd/usr/local #tarzxvf/opt/mysql-5.5.8-linux2.6-i686.tar.gz #ln-s/usr/local/mysql-5.5.8-linux2.6-i686mysql基于Linix/Unix的安裝7軟件下載基于Linix/Unix的安裝7賦予MySQL用戶權(quán)限 #cdmysql #chown-Rmysql. #chgrp-Rmysql.安裝MySQL#scripts/mysql_install_db--user=mysql#chown-Rmysqldata#cp/usr/local/mysql/support-files/f/etc/fMySQL的啟動(dòng)與停止 #bin/mysqld_safe--user=mysql& #cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysql.server #/etc/init.d/mysql.serverstart/stop/restart基于Linix/Unix的安裝8賦予MySQL用戶權(quán)限基于Linix/Unix的安裝8更改數(shù)據(jù)庫(kù)root用戶的密碼 #./bin/mysqladmin-urootpassword'testtest'打開MySQL遠(yuǎn)程控制#./bin/mysql-uroot-p#grantallprivilegeson*.*to'root'@'1'identifiedby'testtest'withgrantoption;#flushprivileges;#updatedbsethost='1'whereuser='root';#flushprivileges;基于Linix/Unix的安裝9更改數(shù)據(jù)庫(kù)root用戶的密碼基于Linix/Unix的安裝9基于Windows的安裝10基于Windows的安裝10數(shù)據(jù)庫(kù)配置11數(shù)據(jù)庫(kù)配置11Windows下數(shù)據(jù)庫(kù)的停用和啟用12Windows下數(shù)據(jù)庫(kù)的停用和啟用12MySQL工具M(jìn)ySQL-Front一款小巧的管理MySQL的應(yīng)用程序。主要特性包括多文檔界面,語(yǔ)法突出,拖拽方式的數(shù)據(jù)庫(kù)和表格,可編輯/可增加/刪除的域,可編輯/可插入/刪除的記錄,可顯示的成員,可執(zhí)行的SQL腳本,提供與外程序接口,保存數(shù)據(jù)到CSV文件等。MySQLAdministratorMySQLAdministrator是用來(lái)執(zhí)行數(shù)據(jù)庫(kù)管理操作的程序和用來(lái)監(jiān)視和管理MySQL實(shí)例內(nèi)的數(shù)據(jù)庫(kù)、用戶的權(quán)限和數(shù)據(jù)的實(shí)用程序,比如說(shuō)配置、控制、開啟和關(guān)閉mysql服務(wù)。
MySQLQueryBrowserMySQLQueryBrowser是一個(gè)可視化的toolset,用于創(chuàng)建、執(zhí)行以及最優(yōu)化的MySQL數(shù)據(jù)庫(kù)查詢。它就像是鑲嵌在Web瀏覽器中的一個(gè)集成的拖曳工具套件,為使用者提供了一個(gè)更簡(jiǎn)便、更有生產(chǎn)力的途徑來(lái)存取、分析存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)服務(wù)器中的信息。13MySQL工具M(jìn)ySQL-Front13MySQL簡(jiǎn)介MySQL常用操作MySQL管理維護(hù)14MySQL簡(jiǎn)介14mysql體系結(jié)構(gòu)15mysql體系結(jié)構(gòu)15設(shè)有張馬虎,李小心兩人,都是地鐵口的自行車管理員.每天都有很多人來(lái)存取自行車,張馬虎的管理方式是:來(lái)存自己存,不記錄存的是什么車,取時(shí)交5毛,也不檢查取的是否是自己的車.李小心呢,則在存取自己車時(shí),記錄存車人的特征與自行車的特征,當(dāng)人來(lái)取車,還要小心核一下,人與車的特征是否對(duì)應(yīng)思考:張馬虎和李小心誰(shuí)對(duì)業(yè)務(wù)的處理速度更高?二者誰(shuí)對(duì)自行車管理更安全?數(shù)據(jù)庫(kù)對(duì)同樣的數(shù)據(jù),有著不同的存儲(chǔ)方式和管理方式在mysql中,稱為存儲(chǔ)引擎存儲(chǔ)引擎的概念16設(shè)有張馬虎,李小心兩人,都是地鐵口的自行車管理員.數(shù)據(jù)庫(kù)對(duì)同多種可選擇的存儲(chǔ)引擎MyISAMInnoDBMERGEMEMORY(HEAP)BDB(BerkeleyDB)EXAMPLEFEDERATEDARCHIVECSVBLACKHOLEFALCON可插拔式的存儲(chǔ)引擎17多種可選擇的存儲(chǔ)引擎可插拔式的存儲(chǔ)引擎17MyISAM是MySQL的默認(rèn)存儲(chǔ)引擎文章,新聞等安全性要求不高的,選myisam訂單,資金,賬單,火車票等對(duì)安全性要求高的,可以選用innodb對(duì)于臨時(shí)中轉(zhuǎn)表,可以用memory型,速度最快存儲(chǔ)引擎的選擇出于速度和安全性的要求,選取合理的存儲(chǔ)引擎18MyISAM是MySQL的默認(rèn)存儲(chǔ)引擎訂單,資金,賬單,火車查看存儲(chǔ)引擎查看數(shù)據(jù)庫(kù)可以支持的存儲(chǔ)引擎mysql>showengines;19查看存儲(chǔ)引擎查看數(shù)據(jù)庫(kù)可以支持的存儲(chǔ)引擎19查看表的結(jié)構(gòu)等信息的若干命令
1.Desc[ribe]tablename;//查看數(shù)據(jù)表的結(jié)構(gòu)
2.showtablestatuslike‘tablename’//顯示表的當(dāng)前狀態(tài)值3.showtablestatuslike‘tablename’\G//顯示表的當(dāng)前狀態(tài)值
20查看表的結(jié)構(gòu)等信息的若干命令
1.Desc[ribe]ta創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置存儲(chǔ)存儲(chǔ)引擎的基本語(yǔ)法是:
CreatetabletableName(
columnName(列名1)
type(數(shù)據(jù)類型)
attri(屬性設(shè)置),
columnName(列名2)
type(數(shù)據(jù)類型)
attri(屬性設(shè)置),
……..)engine=engineName例如,假設(shè)要?jiǎng)?chuàng)建一個(gè)名為user的表,此表包括id,用戶名username和性別sex三個(gè)字段,并且要設(shè)置表類型為merge。則可用如下的方式創(chuàng)建此數(shù)據(jù)表,createtableuser(
idintnotnullauto_increment,
usernamechar(20)notnull,
sexchar(2),
primarykey(id))engine=merge
21創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置存儲(chǔ)存儲(chǔ)引擎的基本語(yǔ)法是:
Create
修改存儲(chǔ)引擎可以用命令A(yù)ltertabletableNameengine=engineName假如,若需要將表user的存儲(chǔ)引擎修改為InnoDB類型,則可使用命令altertableuserengine=InnoDB。如下圖所示:
查看修改后的表類型,可見表類型已經(jīng)變?yōu)镮nnoDB類型。
22
修改存儲(chǔ)引擎22一句話說(shuō)字符集字符集就是一個(gè)字符<->二進(jìn)制字節(jié)的映射表考慮多語(yǔ)言與移植的問題,選取合理的字符集字符集是一套符號(hào)和編碼的規(guī)則,不論是在oracle數(shù)據(jù)庫(kù)還是在mysql數(shù)據(jù)庫(kù),都存在字符集的選擇問題,而且如果在數(shù)據(jù)庫(kù)創(chuàng)建階段沒有正確選擇字符集,那么可能在后期需要更換字符集,而字符集的更換是代價(jià)比較高的操作,也存在一定的風(fēng)險(xiǎn),所以,我們推薦在應(yīng)用開始階段,就按照需求正確的選擇合適的字符集,避免后期不必要的調(diào)整。字符集(charset)23一句話說(shuō)字符集字符集是一套符號(hào)和編碼的規(guī)則,不論是在ora1:節(jié)省空間建議在能夠完全滿足應(yīng)用的前提下,盡量使用小的字符集。因?yàn)楦〉淖址馕吨軌蚬?jié)省空間、減少網(wǎng)絡(luò)傳輸字節(jié)數(shù),同時(shí)由于存儲(chǔ)空間的較小間接的提高了系統(tǒng)的性能。有很多字符集可以保存漢字,比如utf8、gb2312、gbk、gb18030等等,但是常用的是gb2312和gbk。2:兼容性因?yàn)間b2312字庫(kù)比gbk字庫(kù)小,有些偏僻字(例如:洺)不能保存,因此在選擇字符集的時(shí)候一定要權(quán)衡這些偏僻字在應(yīng)用出現(xiàn)的幾率以及造成的影響。3:發(fā)展空間在互聯(lián)網(wǎng)上,國(guó)際化的趨勢(shì)不可避免,且存儲(chǔ)空間已經(jīng)越來(lái)海量化,因此推薦用utf8,如果開發(fā)內(nèi)網(wǎng)系統(tǒng),如內(nèi)部OA等,可以考慮GBK。字符集的選擇241:節(jié)省空間字符集的選擇24查看MySQL數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)MySQL字符集。mysql>
showvariableslike'character_set_%';
+--------------------------+-------------------------------------+------
|
Variable_name
|
Value
|......
+--------------------------+-------------------------------------+------
|
character_set_client
|
utf8
|......
--
客戶端字符集
|
character_set_connection
|
utf8
|......
|
character_set_database
|
utf8
|......
--
數(shù)據(jù)庫(kù)字符集
|
character_set_filesystem
|
binary
|......
|
character_set_results
|
utf8
|......
|
character_set_server
|
utf8
|......
--
服務(wù)器字符集
|
character_set_system
|
utf8
|......
|
character_sets_dir
|
D:\MySQL
Server
5.0\share\charsets\
|......
+--------------------------+-------------------------------------+------
25查看MySQL數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)MySQL字符集。25查看MySQL數(shù)據(jù)表(table)的MySQL字符集mysql>
show
table
status
from
庫(kù)名
like
‘%表名%';
+-----------+--------+---------+------------+------+-----------------+------
|
Name
|
Engine
|
Version
|
Row_format
|
Rows
|
Collation
|......
+-----------+--------+---------+------------+------+-----------------+------
|
countries
|
InnoDB
|
10
|
Compact
|
11
|
utf8_general_ci
|......
+-----------+--------+---------+------------+------+-----------------+------
查看MySQL數(shù)據(jù)列(column)的MySQL字符集。mysql>
show
full
columns
from
表名;
+----------------------+-------------+-----------------+--------
|
Field
|
Type
|
Collation
|
.......
+----------------------+-------------+-----------------+--------
|
countries_id
|
int(11)
|
NULL
|
.......
|
countries_name
|
varchar(64)
|
utf8_general_ci
|
.......
|
countries_iso_code_2
|
char(2)
|
utf8_general_ci
|
.......
|
countries_iso_code_3
|
char(3)
|
utf8_general_ci
|
.......
|
address_format_id
|
int(11)
|
NULL
|
.......
+----------------------+-------------+-----------------+--------
26查看MySQL數(shù)據(jù)表(table)的MySQL字符集26修改字符集:MySQL:修改默認(rèn)字符集(MySQL5.X)1.修改MySQL數(shù)據(jù)庫(kù)默認(rèn)字符集(mysqldatabasedefaultcharacterset)alterdatabasetestdbdefaultcharacterset=gb2312;2.修改MySQL數(shù)據(jù)表默認(rèn)字符集(mysqltabledefaultcharacterset)altertableip_to_countrydefaultcharacterset=gb2312;3.修改列級(jí)修改示例:mysql>AlterTABLE`products`CHANGE`products_model``products_model`VARCHAR(20)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL;更改了后永久生效4.更改連接字符集a.臨時(shí)更改:mysql>SETNAMESutf8;b.永久更改:shell>vi/etc/f在[client]中增加:default-character-set=utf8注意:修改MySQL的默認(rèn)字符集,不管是在數(shù)據(jù)庫(kù)級(jí)別,還是數(shù)據(jù)表級(jí)別,對(duì)已經(jīng)存儲(chǔ)的字符數(shù)據(jù)無(wú)任何改變。只是新增的表或列,開始使用新的字符集。
27修改字符集:275.修改服務(wù)器級(jí)字符集a.臨時(shí)更改:mysql>SETGLOBALcharacter_set_server=utf8;b.永久更改:shell>vi/etc/f[mysqld]default-character-set=utf8配置/etc/f文件:(linux下local為UTF-8);
分別在如下幾項(xiàng)中添加字符集:[client]default-character-set=utf8[mysqld_safe]default-character-set=utf8[mysqld]default-character-set=utf8#default-table-type=innodb[mysql]default-character-set=gb2312再重啟mysql讓配置生效:servicemysqlrestart
再執(zhí)行:showvariableslike'%character%';285.修改服務(wù)器級(jí)字符集28轉(zhuǎn)換MySQL數(shù)據(jù)表字符集(mysqltablecharacterset)1.MySQL中有一個(gè)數(shù)據(jù)表ip_to_country,以前該表字符列數(shù)據(jù)都是以u(píng)tf8編碼格式存放的,現(xiàn)在想轉(zhuǎn)換為gb2312編碼格式存放。需要使用MySQL轉(zhuǎn)換字符集命令:converttocharactersetaltertableip_to_countryconverttocharactersetgb2312;提示:convertto也會(huì)把數(shù)據(jù)表ip_to_country的默認(rèn)字符集從utf8更改為gb2312。
2.轉(zhuǎn)換MySQL數(shù)據(jù)表中某個(gè)列的字符集(mysqlcolumncharacterset)altertableip_to_countrymodifycountry_namevarchar(50)charactersetgb2312;這個(gè)語(yǔ)句把單獨(dú)一個(gè)列country_name的字符集轉(zhuǎn)換為gb2312。這在用法在實(shí)際中比較少見,因?yàn)榇蠖鄶?shù)情況下,都是改變整個(gè)表的字符集。29轉(zhuǎn)換MySQL數(shù)據(jù)表字符集(mysqltablech舊數(shù)據(jù)庫(kù)GBK字符集舊網(wǎng)站系統(tǒng)GBK編碼新網(wǎng)站utf8編碼思考:數(shù)據(jù)庫(kù)不準(zhǔn)動(dòng),新站又是utf8,如何保持新網(wǎng)站與舊數(shù)據(jù)的兼容?字符集專題-新舊網(wǎng)站并存案例30舊數(shù)據(jù)庫(kù)舊網(wǎng)站系統(tǒng)新網(wǎng)站思考:字符集專題-新舊網(wǎng)站并存案例3
數(shù)字類型字符串類型日期時(shí)間類型選擇正確的數(shù)據(jù)類型數(shù)據(jù)類型31數(shù)字類型數(shù)據(jù)類型31數(shù)字類型32數(shù)字類型32日期和時(shí)間類型33日期和時(shí)間類型33字符串類型34字符串類型34通常我們應(yīng)該選擇盡可能小的數(shù)據(jù)類型,這樣可以節(jié)省空間,并且可以更快地進(jìn)行訪問和更新。但應(yīng)該注意需要保存的數(shù)據(jù)的范圍,如果選擇的類型太小,數(shù)據(jù)可能會(huì)在插入時(shí)被截?cái)嗷虍a(chǎn)生錯(cuò)誤,所以一定要選擇一個(gè)覆蓋所有可能性的數(shù)據(jù)類型為了優(yōu)化存儲(chǔ),在任何情況下均應(yīng)使用最精確的類型。例如,如果列的值的范圍為從1到99999,若使用整數(shù),則MEDIUMINTUNSIGNED是好的類型。在所有可以表示該列值的類型中,該類型使用的存儲(chǔ)最少。應(yīng)當(dāng)使用精度為65位十進(jìn)制數(shù)(基于10)對(duì)DECIMAL列進(jìn)行所有基本計(jì)算(+、-、*、/)使用雙精度操作對(duì)DECIMAL值進(jìn)行計(jì)算。如果準(zhǔn)確度不是太重要或如果速度為最高優(yōu)先級(jí),DOUBLE類型即足夠了。為了達(dá)到高精度,可以轉(zhuǎn)換到保存在BIGINT中的定點(diǎn)類型。這樣可以用64位整數(shù)進(jìn)行所有計(jì)算,根據(jù)需要將結(jié)果轉(zhuǎn)換回浮點(diǎn)值數(shù)據(jù)類型的選擇35通常我們應(yīng)該選擇盡可能小的數(shù)據(jù)類型,這樣可以節(jié)省空間,并且可顯示數(shù)據(jù)庫(kù)的相關(guān)內(nèi)容顯示數(shù)據(jù)庫(kù)mysql>showdatabases;顯示數(shù)據(jù)庫(kù)中的表mysql>usemysql;mysql>showtables;顯示數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)
mysql>describe表名;36顯示數(shù)據(jù)庫(kù)的相關(guān)內(nèi)容顯示數(shù)據(jù)庫(kù)36建立及刪除數(shù)據(jù)庫(kù)、表建立數(shù)據(jù)庫(kù)與表
use庫(kù)名; mysql>createtablename(idint(3)auto_incrementnotnullprimarykey,xmchar(8),xbchar(2),csnydate);刪庫(kù)及刪表
dropdatabase庫(kù)名; droptable表名;37建立及刪除數(shù)據(jù)庫(kù)、表建立數(shù)據(jù)庫(kù)與表37對(duì)數(shù)據(jù)庫(kù)表中內(nèi)容的操作增加記錄
mysql>insertintonamevalues('','張三','男','1971-10-01'); mysql>insertintonamevalues('','白云','女','1972-05-20');
修改記錄
mysql>updatenamesetcsny='1971-01-10'wherexm='張三';刪除記錄
mysql>deletefromnamewherexm='張三';查詢記錄
mysql>select*fromnamewherexm='張三';38對(duì)數(shù)據(jù)庫(kù)表中內(nèi)容的操作增加記錄38MySQL簡(jiǎn)介MySQL常用操作MySQL管理維護(hù)39MySQL簡(jiǎn)介39備份命令備份單獨(dú)庫(kù)下面的所有表的方法mysqldump-uuname-ppasswddbname>/dir/filename備份某一庫(kù)下面的幾個(gè)表的方法mysqldump-uuname-ppasswddbnametable1table2..tableN>/dir/filename備份多個(gè)庫(kù)的方法mysqldump-uname-ppasswd-Bdb1db2>/dir/filename備份所有庫(kù)的方法mysqldump-uname-ppasswd-A>/dir/filename數(shù)據(jù)庫(kù)備份與恢復(fù)40備份命令備份單獨(dú)庫(kù)下面的所有表的方法數(shù)據(jù)庫(kù)備份與恢復(fù)40恢復(fù)命令1:在命令行操作mysql-uname-ppasswd[databaseName]</dir/filename2:登陸mysql后source操作mysql>usedbname;mysql>source/dir/filename;數(shù)據(jù)庫(kù)備份與恢復(fù)41恢復(fù)命令1:在命令行操作數(shù)據(jù)庫(kù)備份與恢復(fù)41表的故障檢測(cè)和修正的一般過程如下:檢查出錯(cuò)的表。如果該表檢查通過,則完成任務(wù),否則必須修復(fù)出錯(cuò)的數(shù)據(jù)庫(kù)表。在開始修復(fù)之前對(duì)表文件進(jìn)行拷貝,以保證數(shù)據(jù)的安全。開始修復(fù)數(shù)據(jù)庫(kù)表。如果修復(fù)失敗,從數(shù)據(jù)庫(kù)的備份或更新日志中恢復(fù)數(shù)據(jù)。在使用myisamchk或isamchk檢查或修復(fù)表之前,應(yīng)該首先注意:建立數(shù)據(jù)庫(kù)備份和使用更新日志,以防修復(fù)失敗,丟失數(shù)據(jù)。維護(hù)不是簡(jiǎn)單的運(yùn)行myisamchk維護(hù)程序就可以的。因?yàn)榇蠖鄶?shù)情況下,管理員進(jìn)行表的檢查和修復(fù)時(shí),服務(wù)器都要持續(xù)運(yùn)行,因此如果方法不當(dāng),很可能維護(hù)程序會(huì)與服務(wù)器產(chǎn)生沖突。通過表外部鎖定或內(nèi)部鎖定(使用的鎖定協(xié)議也不同,分別為讀鎖定和寫鎖定),避免維護(hù)過程中與服務(wù)器發(fā)生的交互作用如果你在Unix平臺(tái)上對(duì)表進(jìn)行維護(hù)時(shí),應(yīng)該首先注冊(cè)到專用的帳戶
mysql,以避免對(duì)表讀寫訪問產(chǎn)生所有權(quán)的問題,以及破壞數(shù)據(jù)庫(kù)目錄的所有權(quán)限。數(shù)據(jù)庫(kù)維護(hù)修復(fù)42表的故障檢測(cè)和修正的一般過程如下:數(shù)據(jù)庫(kù)維護(hù)修復(fù)42數(shù)據(jù)庫(kù)維護(hù)修復(fù)維護(hù)修復(fù)工具在執(zhí)行崩潰恢復(fù)時(shí),理解在一個(gè)數(shù)據(jù)庫(kù)中的每一個(gè)表tbl_name對(duì)應(yīng)的在數(shù)據(jù)庫(kù)目錄中的3個(gè)文件是很重要的:文件用途“tbl_name.frm”表定義(表格)文件“tbl_name.MYD”數(shù)據(jù)文件“tbl_name.MYI”索引文件這3個(gè)文件的每一個(gè)文件類型可能遭受不同形式的損壞,但是問題最常發(fā)生在數(shù)據(jù)文件和索引文件。myisamchk通過一行一行地創(chuàng)建一個(gè)“.MYD”(數(shù)據(jù))文件的副本來(lái)工作,它通過由刪除老的“.MYD文件并且重命名新文件到原來(lái)的文件名結(jié)束修復(fù)階段。如果你使用--quick,myisamchk不創(chuàng)建一個(gè)臨時(shí)“.MYD”文件,只是假定“.MYD”文件是正確的并且僅創(chuàng)建一個(gè)新的索引文件,不接觸“.MYD”文件,這是安全的,因?yàn)閙yisamchk自動(dòng)檢測(cè)“.MYD”文件是否損壞并且在這種情況下,放棄修復(fù)。你也可以給myisamchk兩個(gè)--quick選項(xiàng)。在這種情況下,myisamchk不會(huì)在一些錯(cuò)誤上(象重復(fù)鍵)放棄,相反試圖通過修改“.MYD”文件解決它們。通常,只有在你在太少的空閑磁盤空間上實(shí)施一個(gè)正常修復(fù),使用兩個(gè)--quick選項(xiàng)才有用。在這種情況下,你應(yīng)該至少在運(yùn)行myisamchk前做一個(gè)備份。43數(shù)據(jù)庫(kù)維護(hù)修復(fù)維護(hù)修復(fù)工具43數(shù)據(jù)庫(kù)維護(hù)修復(fù)怎樣檢查表的錯(cuò)誤為了檢查一張表,使用下列命令:myisamchktbl_name這能找出所有錯(cuò)誤的99.99%。它不能找出的是僅僅涉及數(shù)據(jù)文件的損壞(這很不常見)。如果你想要檢查一張表,你通常應(yīng)該沒有選項(xiàng)地運(yùn)行myisamchk或用-s或--silent選項(xiàng)的任何一個(gè)。myisamchk-etbl_name它做一個(gè)完全徹底的數(shù)據(jù)檢查(-e意思是“擴(kuò)展檢查”)。它對(duì)每一行做每個(gè)鍵的讀檢查以證實(shí)他們確實(shí)指向正確的行。這在一個(gè)有很多鍵的大表上可能花很長(zhǎng)時(shí)間。myisamchk通常將在它發(fā)現(xiàn)第一個(gè)錯(cuò)誤以后停止。如果你想要獲得更多的信息,你能增加--verbose(-v)選項(xiàng)。這使得myisamchk繼續(xù)一直到最多20個(gè)錯(cuò)誤。在一般使用中,一個(gè)簡(jiǎn)單的myisamchk(沒有除表名以外的參數(shù))就足夠了。myisamchk-e-itbl_name象前面的命令一樣,但是-i選項(xiàng)告訴myisamchk還打印出一些統(tǒng)計(jì)信息。44數(shù)據(jù)庫(kù)維護(hù)修復(fù)怎樣檢查表的錯(cuò)誤44數(shù)據(jù)庫(kù)維護(hù)修復(fù)怎樣修復(fù)表一張損壞的表的癥狀通常是查詢意外中斷并且你能看到例如這些錯(cuò)誤:“tbl_name.frm”被鎖定不能改變。不能找到文件“tbl_name.MYI”(Errcode:###)。從表處理器的得到錯(cuò)誤###(此時(shí),錯(cuò)誤135是一個(gè)例外)。意外的文件結(jié)束。記錄文件被毀壞。在這些情況下,你必須修復(fù)表。myisamchk通常能檢測(cè)并且修復(fù)出錯(cuò)的大部分東西。修復(fù)過程包含最多4個(gè)階段,在下面描述。在你開始前,你應(yīng)該cd到數(shù)據(jù)庫(kù)目錄和檢查表文件的權(quán)限,確保他們可被運(yùn)行mysqld的用戶讀取。如果它拒絕你修改文件,他們也必須是可被你寫入的。45數(shù)據(jù)庫(kù)維護(hù)修復(fù)怎樣修復(fù)表45數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段1:檢查你的表運(yùn)行myisamchk*.MYI或(myisamchk-e*.MYI,如果你有更多的時(shí)間)。使用-s(沉默)選項(xiàng)禁止不必要的信息,你必須只修復(fù)那些myisamchk報(bào)告有一個(gè)錯(cuò)誤的表。對(duì)這樣的表,繼續(xù)到階段2,如果在檢查時(shí),你得到奇怪的錯(cuò)誤(例如outofmemory錯(cuò)誤),或如果myisamchk崩潰,到階段3
階段2:簡(jiǎn)單安全的修復(fù)首先,試試myisamchk-r-qtbl_name(-r-q意味著“快速恢復(fù)模式”)。這將試圖不接觸數(shù)據(jù)文件來(lái)修復(fù)索引文件。如果數(shù)據(jù)文件包含它應(yīng)有的一切和在數(shù)據(jù)文件指向正確地點(diǎn)的刪除連接,這應(yīng)該管用并且表可被修復(fù)。開始修理下一張表。否則,使用下列過程:在繼續(xù)前做數(shù)據(jù)文件的一個(gè)備份。使用myisamchk-rtbl_name(-r意味著“恢復(fù)模式”)。這將從數(shù)據(jù)文件中刪除不正確的記錄和已被刪除的記錄并重建索引文件。如果前面的步驟失敗,使用myisamchk--safe-recovertbl_name。安全恢復(fù)模式使用一個(gè)老的恢復(fù)方法,處理常規(guī)恢復(fù)模式不行的少數(shù)情況(但是更慢)。如果在修復(fù)時(shí),你得到奇怪的錯(cuò)誤(例如outofmemory錯(cuò)誤),或如果myisamchk崩潰,到階段3。46數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段1:檢查你的表46數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段3:困難的修理如果在索引文件的第一個(gè)16K塊被破壞,或包含不正確的信息,或如果索引文件丟失,你只應(yīng)該到這個(gè)階段。在這種情況下,創(chuàng)建一個(gè)新的索引文件是必要的。按如下這樣做:把數(shù)據(jù)文件移更安全的地方。使用表描述文件創(chuàng)建新的(空)數(shù)據(jù)和索引文件:shell>mysqldb_namemysql>DELETEFROMtbl_name;mysql>quit將老的數(shù)據(jù)文件拷貝到新創(chuàng)建的數(shù)據(jù)文件之中。(不要只是將老文件移回新文件之中;你要保留一個(gè)副本以防某些東西出錯(cuò)。)回到階段2。現(xiàn)在myisamchk-r-q應(yīng)該工作了。(這不應(yīng)該是一個(gè)無(wú)限循環(huán))。47數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段3:困難的修理47數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段4:非常困難的修復(fù)只有描述文件也破壞了,你才應(yīng)該到達(dá)這個(gè)階段。這應(yīng)該從未發(fā)生過,因?yàn)樵诒肀粍?chuàng)建以后,描述文件就不再改變了。從一個(gè)備份恢復(fù)描述文件并且回到階段3。你也可以恢復(fù)索引文件并且回到階段2。對(duì)后者,你應(yīng)該用myisamchk-r啟動(dòng)。如果你沒有一個(gè)備份但是確切地知道表是怎樣被創(chuàng)建的,在另一個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建表的一個(gè)拷貝。刪除新的數(shù)據(jù)文件,然后從其他數(shù)據(jù)庫(kù)將描述和索引文件移到破壞的數(shù)據(jù)庫(kù)中。這給了你新的描述和索引文件,但是讓數(shù)據(jù)文件獨(dú)自留下來(lái)了?;氐诫A段2并且嘗試重建索引文件。48數(shù)據(jù)庫(kù)維護(hù)修復(fù)階段4:非常困難的修復(fù)48用戶權(quán)限管理用戶權(quán)限管理1.設(shè)置用戶與并授權(quán)GRANT命令使用說(shuō)明,先來(lái)看一個(gè)例子,創(chuàng)建一個(gè)只允許從本地登錄的超級(jí)用戶ipi,并允許將權(quán)限賦予別的用戶,i314GRANTALLPRIVILEGESON*.*TOipi@'localhost'IDENTIFIEDBY'i314'WITHGRANTOPTION;GRANT命令說(shuō)明:ALLPRIVILEGES是表示所有權(quán)限,你也可以使用select、update等權(quán)限提到的權(quán)限。ON用來(lái)指定權(quán)限針對(duì)哪些庫(kù)和表。*.*中前面的*號(hào)用來(lái)指定數(shù)據(jù)庫(kù)名,后面的*號(hào)用來(lái)指定表名。TO表示將權(quán)限賦予某個(gè)用戶。ipi@'localhost'表示ipi用戶,@后面接限制的主機(jī),可以是IP、IP段、域名以及%,%表示任何地方。注意:這里%有的版本不包括本地,以前碰到過給某個(gè)用戶設(shè)置了%允許任何地方登錄,但是在本地登錄不了,這個(gè)和版本有關(guān)系,遇到這個(gè)問題再加一個(gè)localhost的用戶就可以了。IDENTIFIEDBY指定用戶的登錄密碼。WITHGRANTOPTION這個(gè)選項(xiàng)表示該用戶可以將自己擁有的權(quán)限授權(quán)給別人。注意:經(jīng)常有人在創(chuàng)建操作用戶的時(shí)候不指定WITHGRANTOPTION選項(xiàng)導(dǎo)致后來(lái)該用戶不能使用GRANT命令創(chuàng)建用戶或者給其他用戶授權(quán)。備注:可以使用GRANT重復(fù)給用戶添加權(quán)限,權(quán)限疊加,比如你先給用戶添加了一個(gè)select權(quán)限,然后又給用戶添加了一個(gè)insert權(quán)限,那么該用戶就同時(shí)擁有了select和insert權(quán)限。49用戶權(quán)限管理用戶權(quán)限管理49用戶權(quán)限管理2.創(chuàng)建一個(gè)超級(jí)用戶創(chuàng)建一個(gè)只允許從本地登錄的超級(jí)用戶test,并允許將權(quán)限賦予別的用戶,密碼為i314GRANTALLPRIVILEGESON*.*TOtest@'localhost'IDENTIFIEDBY‘i314'WITHGRANTOPTION;3.
創(chuàng)建一個(gè)網(wǎng)站用戶(程序用戶)創(chuàng)建一個(gè)一般的程序用戶,這個(gè)用戶可能只需要SELECT,INSERT,UPDATE,DELETE,CREATETEMPORARYTABLES等權(quán)限如果有存儲(chǔ)過程還需要加上EXECUTE權(quán)限,一般是指定內(nèi)網(wǎng)網(wǎng)段192.168.100網(wǎng)段。GRANTUSAGE,SELECT,INSERT,UPDATE,DELETE,SHOWVIEW,CREATETEMPORARYTABLES,EXECUTEON`test`.*TOtest@'192.168.100.%'IDENTIFIEDBY‘i314';4.
創(chuàng)建一個(gè)普通用戶(僅有查詢權(quán)限)GRANTUSAGE,SELECTON`test`.*TOpublic@'192.168.100.%'IDENTIFIEDBY‘i314';50用戶權(quán)限管理2.創(chuàng)建一個(gè)超級(jí)用戶505.
刷新權(quán)限使用這個(gè)命令使權(quán)限生效,尤其是你對(duì)那些權(quán)限表user、db、host等做了update或者delete更新的時(shí)候。以前遇到過使用grant后權(quán)限沒有更新的情況,大家可以養(yǎng)成習(xí)慣,只要對(duì)權(quán)限做了更改就使用FLUSHPRIVILEGES命令來(lái)刷新權(quán)限。FLUSHPRIVILEGES;6.
查看權(quán)限使用如下命令可以方便的查看到某個(gè)用戶的權(quán)限:SHOWGRANTSFOR'webuser'@'192.168.100.%';7.
回收權(quán)限將前面創(chuàng)建的webuser用戶的DELETE權(quán)限回收,使用如下命令REVOKEDELETEONtest.*FROM'webuser'@'192.168.100.%';8.
刪除用戶注意刪除用戶不要使用DELETE直接刪除,因?yàn)槭褂肈ELETE刪除后用戶的權(quán)限并未刪除,新建同名用戶后又會(huì)繼承以前的權(quán)限。正確的做法是使用DROPUSER命令刪除用戶,比如要?jiǎng)h除'webuser'@'192.168.100.%'用戶采用如下命令:DROPUSER'webuser'@'192.168.100.%';515.
刷新權(quán)限51謝謝52謝謝52
1、想要體面生活,又覺得打拼辛苦;想要健康身體,又無(wú)法堅(jiān)持運(yùn)動(dòng)。人最失敗的,莫過于對(duì)自己不負(fù)責(zé)任,連答應(yīng)自己的事都辦不到,又何必抱怨這個(gè)世界都和你作對(duì)?人生的道理很簡(jiǎn)單,你想要什么,就去付出足夠的努力。
2、時(shí)間是最公平的,活一天就擁有24小時(shí),差別只是珍惜。你若不相信努力和時(shí)光,時(shí)光一定第一個(gè)辜負(fù)你。有夢(mèng)想就立刻行動(dòng),因?yàn)楝F(xiàn)在過的每一天,都是余生中最年輕的一天。
3、無(wú)論正在經(jīng)歷什么,都請(qǐng)不要輕言放棄,因?yàn)閺膩?lái)沒有一種堅(jiān)持會(huì)被辜負(fù)。誰(shuí)的人生不是荊棘前行,生活從來(lái)不會(huì)一蹴而就,也不會(huì)永遠(yuǎn)安穩(wěn),只要努力,就能做獨(dú)一無(wú)二平凡可貴的自己。
4、努力本就是年輕人應(yīng)有的狀態(tài),是件充實(shí)且美好的事,可一旦有了表演的成分,就會(huì)顯得廉價(jià),努力,不該是為了朋友圈多獲得幾個(gè)贊,不該是每次長(zhǎng)篇贅述后的自我感動(dòng),它是一件平凡而自然而然的事,最佳的努力不過是:但行好事,莫問前程。愿努力,成就更好的你!
5、付出努力卻沒能實(shí)現(xiàn)的夢(mèng)想,愛了很久卻沒能在一起的人,活得用力卻平淡寂寞的青春,遺憾是每一次小的挫折,它磨去最初柔軟的心智、讓我們懂得累積時(shí)間的力量;那些孤獨(dú)沉寂的時(shí)光,讓我們學(xué)會(huì)守候內(nèi)心的平和與堅(jiān)定。那些脆弱的不完美,都會(huì)在努力和堅(jiān)持下,改變模樣。
6、人生中總會(huì)有一段艱難的路,需要自己獨(dú)自走完,沒人幫助,沒人陪伴,不必畏懼,昂頭走過去就是了,經(jīng)歷所有的挫折與磨難,你會(huì)發(fā)現(xiàn),自己遠(yuǎn)比想象中要強(qiáng)大得多。多走彎路,才會(huì)找到捷徑,經(jīng)歷也是人生,修煉一顆強(qiáng)大的內(nèi)心,做更好的自己!
7、“一定要成功”這種內(nèi)在的推動(dòng)力是我們生命中最神奇最有趣的東西。一個(gè)人要做成大事,絕不能缺少這種力量,因?yàn)檫@種力量能夠驅(qū)動(dòng)人不停地提高自己的能力。一個(gè)人只有先在心里肯定自己,相信自己,才能成就自己!
8、人生的旅途中,最清晰的腳印,往往印在最泥濘的路上,所以,別畏懼暫時(shí)的困頓,即使無(wú)人鼓掌,也要全情投入,優(yōu)雅堅(jiān)持。真正改變命運(yùn)的,并不是等來(lái)的機(jī)遇,而是我們的態(tài)度。
9、這世上沒有所謂的天才,也沒有不勞而獲的回報(bào),你所看到的每個(gè)光鮮人物,其背后都付出了令人震驚的努力。請(qǐng)相信,你的潛力還遠(yuǎn)遠(yuǎn)沒有爆發(fā)出來(lái),不要給自己的人生設(shè)限,你自以為的極限,只是別人的起點(diǎn)。寫給渴望突破瓶頸、實(shí)現(xiàn)快速跨越的你。
10、生活中,有人給予幫助,那是幸運(yùn),沒人給予幫助,那是命運(yùn)。我們要學(xué)會(huì)在幸運(yùn)青睞自己的時(shí)候?qū)W會(huì)感恩,在命運(yùn)磨練自己的時(shí)候?qū)W會(huì)堅(jiān)韌。這既是對(duì)自己的尊重,也是對(duì)自己的負(fù)責(zé)。
11、失敗不可怕,可怕的是從來(lái)沒有努力過,還怡然自得地安慰自己,連一點(diǎn)點(diǎn)的懊悔都被麻木所掩蓋下去。不能怕,沒什么比自己背叛自己更可怕。
12、跌倒了,一定要爬起來(lái)。不爬起來(lái),別人會(huì)看不起你,你自己也會(huì)失去機(jī)會(huì)。在人前微笑,在人后落淚,可這是每個(gè)人都要學(xué)會(huì)的成長(zhǎng)。
13、要相信,這個(gè)世界上永遠(yuǎn)能夠依靠的只有你自己。所以,管別人怎么看,堅(jiān)持自己的堅(jiān)持,直到堅(jiān)持不下去為止。
14、也許你想要的未來(lái)在別人眼里不值一提,也許你已經(jīng)很努力了可還是有人不滿意,也許你的理想離你的距離從來(lái)沒有拉近過......但請(qǐng)你繼續(xù)向前走,因?yàn)閯e人看不到你的努力,你卻始終看得見自己。
15、所有的輝煌和偉大,一定伴隨著挫折和跌倒;所有的風(fēng)光背后,一定都是一串串揉和著淚水和汗水的腳印。
16、成功的反義詞不是失敗,而是從未行動(dòng)。有一天你總會(huì)明白,遺憾比失敗更讓你難以面對(duì)。
17、沒有一件事情可以一下子把你打垮,也不會(huì)有一件事情可以讓你一步登天,慢慢走,慢慢看,生命是一個(gè)慢慢累積的過程。
18、努力也許不等于成功,可是那段追逐夢(mèng)想的努力,會(huì)讓你找到一個(gè)更好的自己,一個(gè)沉默努力充實(shí)安靜的自己。
19、你相信夢(mèng)想,夢(mèng)想才會(huì)相信你。有一種落差是,你配不上自己的野心,也辜負(fù)了所受的苦難。
20、生活不會(huì)按你想要的方式進(jìn)行,它會(huì)給你一段時(shí)間,讓你孤獨(dú)、迷茫又沉默憂郁。但如果靠這段時(shí)間跟自己獨(dú)處,多看一本書,去做可以做的事,放下過去的人,等你度過低潮,那些獨(dú)處的時(shí)光必定能照亮你的路,也是這些不堪陪你成熟。所以,現(xiàn)在沒那么糟,看似生活對(duì)你的虧欠,其實(shí)都是祝愿。1、想要體面生活,又覺得打拼辛苦;想要健康身體,又無(wú)法堅(jiān)53MySQL數(shù)據(jù)庫(kù)培訓(xùn)資料講義課件54MySQL數(shù)據(jù)庫(kù)介紹深圳市艾派應(yīng)用系統(tǒng)有限公司55MySQL數(shù)據(jù)庫(kù)介紹深圳市艾派應(yīng)用系統(tǒng)有限公司1Mysql簡(jiǎn)介Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介Mysql常用操作Mysql管理維護(hù)Mysql數(shù)據(jù)庫(kù)特點(diǎn)越來(lái)越多的企業(yè)級(jí)特性Mysql數(shù)據(jù)庫(kù)安裝Mysql連接工具M(jìn)ysql體系結(jié)構(gòu)表引擎字符集問題常用數(shù)據(jù)類型常用Sql語(yǔ)句數(shù)據(jù)庫(kù)備份數(shù)據(jù)庫(kù)恢復(fù)數(shù)據(jù)庫(kù)維護(hù)與修復(fù)用戶權(quán)限管理MySQL數(shù)據(jù)庫(kù)培訓(xùn)目錄數(shù)據(jù)庫(kù)安全加固56Mysql簡(jiǎn)介Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介Mysql常用操作MysqMySQL簡(jiǎn)介MySQL常用操作MySQL管理維護(hù)57MySQL簡(jiǎn)介3常用的數(shù)據(jù)庫(kù)服務(wù)器:商業(yè):oracle,SQLserver,DB2開源:MySQL,postgreSQL,SQLiteMySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu),對(duì)于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。分標(biāo)準(zhǔn)版和企業(yè)版本,企業(yè)版本提供EnterpriseMonitor工具,目前版本已經(jīng)到達(dá)MySQL6。MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介58常用的數(shù)據(jù)庫(kù)服務(wù)器:MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介4開放源代碼小巧易用高性能低成本(是ORACLE價(jià)格的1/10)高可靠高速發(fā)展的數(shù)據(jù)庫(kù)幾乎支持所有的平臺(tái)廣泛應(yīng)用在嵌入式、網(wǎng)站應(yīng)用、企業(yè)級(jí)應(yīng)用J2EE架構(gòu)、.NET架構(gòu)、還有LAMP架構(gòu)眾多的第三方支持(與LINBIT達(dá)成合作伙伴關(guān)系)支持web2.0得天獨(dú)厚MySQL數(shù)據(jù)庫(kù)特點(diǎn)59開放源代碼MySQL數(shù)據(jù)庫(kù)特點(diǎn)5MySQL的技術(shù)進(jìn)展MySQL3.23開始支持外鍵(InnoDB)MySQL4.1開始支持R-trees索引(MyISAM)MySQL從5.0開始,全面支持視圖、存儲(chǔ)過程、函數(shù)和觸發(fā)器功能MySQL5.1支持分區(qū)功能MySQL5.1支持行復(fù)制MySQL6.0將實(shí)現(xiàn)雙向復(fù)制逐步增加對(duì)非結(jié)構(gòu)化數(shù)據(jù)XML的支持特性MySQL6.0將支持最新的FALCON存儲(chǔ)引擎著名的數(shù)據(jù)庫(kù)大師JimStarkey現(xiàn)在在MySQL開發(fā)Falcon。Falcon面向的客戶是企業(yè)級(jí)用戶。Oracle跟MySQL簽定了合作協(xié)議,用戶可以繼續(xù)選擇InnoDB存儲(chǔ)引擎越來(lái)越多的企業(yè)級(jí)特性60MySQL的技術(shù)進(jìn)展越來(lái)越多的企業(yè)級(jí)特性6軟件下載登陸官方網(wǎng)站,下載最新的released版本。創(chuàng)建MySQL用戶和用戶組#groupaddmysql#useradd-r-gmysqlmysql解壓MySQL #cd/usr/local #tarzxvf/opt/mysql-5.5.8-linux2.6-i686.tar.gz #ln-s/usr/local/mysql-5.5.8-linux2.6-i686mysql基于Linix/Unix的安裝61軟件下載基于Linix/Unix的安裝7賦予MySQL用戶權(quán)限 #cdmysql #chown-Rmysql. #chgrp-Rmysql.安裝MySQL#scripts/mysql_install_db--user=mysql#chown-Rmysqldata#cp/usr/local/mysql/support-files/f/etc/fMySQL的啟動(dòng)與停止 #bin/mysqld_safe--user=mysql& #cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysql.server #/etc/init.d/mysql.serverstart/stop/restart基于Linix/Unix的安裝62賦予MySQL用戶權(quán)限基于Linix/Unix的安裝8更改數(shù)據(jù)庫(kù)root用戶的密碼 #./bin/mysqladmin-urootpassword'testtest'打開MySQL遠(yuǎn)程控制#./bin/mysql-uroot-p#grantallprivilegeson*.*to'root'@'1'identifiedby'testtest'withgrantoption;#flushprivileges;#updatedbsethost='1'whereuser='root';#flushprivileges;基于Linix/Unix的安裝63更改數(shù)據(jù)庫(kù)root用戶的密碼基于Linix/Unix的安裝9基于Windows的安裝64基于Windows的安裝10數(shù)據(jù)庫(kù)配置65數(shù)據(jù)庫(kù)配置11Windows下數(shù)據(jù)庫(kù)的停用和啟用66Windows下數(shù)據(jù)庫(kù)的停用和啟用12MySQL工具M(jìn)ySQL-Front一款小巧的管理MySQL的應(yīng)用程序。主要特性包括多文檔界面,語(yǔ)法突出,拖拽方式的數(shù)據(jù)庫(kù)和表格,可編輯/可增加/刪除的域,可編輯/可插入/刪除的記錄,可顯示的成員,可執(zhí)行的SQL腳本,提供與外程序接口,保存數(shù)據(jù)到CSV文件等。MySQLAdministratorMySQLAdministrator是用來(lái)執(zhí)行數(shù)據(jù)庫(kù)管理操作的程序和用來(lái)監(jiān)視和管理MySQL實(shí)例內(nèi)的數(shù)據(jù)庫(kù)、用戶的權(quán)限和數(shù)據(jù)的實(shí)用程序,比如說(shuō)配置、控制、開啟和關(guān)閉mysql服務(wù)。
MySQLQueryBrowserMySQLQueryBrowser是一個(gè)可視化的toolset,用于創(chuàng)建、執(zhí)行以及最優(yōu)化的MySQL數(shù)據(jù)庫(kù)查詢。它就像是鑲嵌在Web瀏覽器中的一個(gè)集成的拖曳工具套件,為使用者提供了一個(gè)更簡(jiǎn)便、更有生產(chǎn)力的途徑來(lái)存取、分析存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)服務(wù)器中的信息。67MySQL工具M(jìn)ySQL-Front13MySQL簡(jiǎn)介MySQL常用操作MySQL管理維護(hù)68MySQL簡(jiǎn)介14mysql體系結(jié)構(gòu)69mysql體系結(jié)構(gòu)15設(shè)有張馬虎,李小心兩人,都是地鐵口的自行車管理員.每天都有很多人來(lái)存取自行車,張馬虎的管理方式是:來(lái)存自己存,不記錄存的是什么車,取時(shí)交5毛,也不檢查取的是否是自己的車.李小心呢,則在存取自己車時(shí),記錄存車人的特征與自行車的特征,當(dāng)人來(lái)取車,還要小心核一下,人與車的特征是否對(duì)應(yīng)思考:張馬虎和李小心誰(shuí)對(duì)業(yè)務(wù)的處理速度更高?二者誰(shuí)對(duì)自行車管理更安全?數(shù)據(jù)庫(kù)對(duì)同樣的數(shù)據(jù),有著不同的存儲(chǔ)方式和管理方式在mysql中,稱為存儲(chǔ)引擎存儲(chǔ)引擎的概念70設(shè)有張馬虎,李小心兩人,都是地鐵口的自行車管理員.數(shù)據(jù)庫(kù)對(duì)同多種可選擇的存儲(chǔ)引擎MyISAMInnoDBMERGEMEMORY(HEAP)BDB(BerkeleyDB)EXAMPLEFEDERATEDARCHIVECSVBLACKHOLEFALCON可插拔式的存儲(chǔ)引擎71多種可選擇的存儲(chǔ)引擎可插拔式的存儲(chǔ)引擎17MyISAM是MySQL的默認(rèn)存儲(chǔ)引擎文章,新聞等安全性要求不高的,選myisam訂單,資金,賬單,火車票等對(duì)安全性要求高的,可以選用innodb對(duì)于臨時(shí)中轉(zhuǎn)表,可以用memory型,速度最快存儲(chǔ)引擎的選擇出于速度和安全性的要求,選取合理的存儲(chǔ)引擎72MyISAM是MySQL的默認(rèn)存儲(chǔ)引擎訂單,資金,賬單,火車查看存儲(chǔ)引擎查看數(shù)據(jù)庫(kù)可以支持的存儲(chǔ)引擎mysql>showengines;73查看存儲(chǔ)引擎查看數(shù)據(jù)庫(kù)可以支持的存儲(chǔ)引擎19查看表的結(jié)構(gòu)等信息的若干命令
1.Desc[ribe]tablename;//查看數(shù)據(jù)表的結(jié)構(gòu)
2.showtablestatuslike‘tablename’//顯示表的當(dāng)前狀態(tài)值3.showtablestatuslike‘tablename’\G//顯示表的當(dāng)前狀態(tài)值
74查看表的結(jié)構(gòu)等信息的若干命令
1.Desc[ribe]ta創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置存儲(chǔ)存儲(chǔ)引擎的基本語(yǔ)法是:
CreatetabletableName(
columnName(列名1)
type(數(shù)據(jù)類型)
attri(屬性設(shè)置),
columnName(列名2)
type(數(shù)據(jù)類型)
attri(屬性設(shè)置),
……..)engine=engineName例如,假設(shè)要?jiǎng)?chuàng)建一個(gè)名為user的表,此表包括id,用戶名username和性別sex三個(gè)字段,并且要設(shè)置表類型為merge。則可用如下的方式創(chuàng)建此數(shù)據(jù)表,createtableuser(
idintnotnullauto_increment,
usernamechar(20)notnull,
sexchar(2),
primarykey(id))engine=merge
75創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置存儲(chǔ)存儲(chǔ)引擎的基本語(yǔ)法是:
Create
修改存儲(chǔ)引擎可以用命令A(yù)ltertabletableNameengine=engineName假如,若需要將表user的存儲(chǔ)引擎修改為InnoDB類型,則可使用命令altertableuserengine=InnoDB。如下圖所示:
查看修改后的表類型,可見表類型已經(jīng)變?yōu)镮nnoDB類型。
76
修改存儲(chǔ)引擎22一句話說(shuō)字符集字符集就是一個(gè)字符<->二進(jìn)制字節(jié)的映射表考慮多語(yǔ)言與移植的問題,選取合理的字符集字符集是一套符號(hào)和編碼的規(guī)則,不論是在oracle數(shù)據(jù)庫(kù)還是在mysql數(shù)據(jù)庫(kù),都存在字符集的選擇問題,而且如果在數(shù)據(jù)庫(kù)創(chuàng)建階段沒有正確選擇字符集,那么可能在后期需要更換字符集,而字符集的更換是代價(jià)比較高的操作,也存在一定的風(fēng)險(xiǎn),所以,我們推薦在應(yīng)用開始階段,就按照需求正確的選擇合適的字符集,避免后期不必要的調(diào)整。字符集(charset)77一句話說(shuō)字符集字符集是一套符號(hào)和編碼的規(guī)則,不論是在ora1:節(jié)省空間建議在能夠完全滿足應(yīng)用的前提下,盡量使用小的字符集。因?yàn)楦〉淖址馕吨軌蚬?jié)省空間、減少網(wǎng)絡(luò)傳輸字節(jié)數(shù),同時(shí)由于存儲(chǔ)空間的較小間接的提高了系統(tǒng)的性能。有很多字符集可以保存漢字,比如utf8、gb2312、gbk、gb18030等等,但是常用的是gb2312和gbk。2:兼容性因?yàn)間b2312字庫(kù)比gbk字庫(kù)小,有些偏僻字(例如:洺)不能保存,因此在選擇字符集的時(shí)候一定要權(quán)衡這些偏僻字在應(yīng)用出現(xiàn)的幾率以及造成的影響。3:發(fā)展空間在互聯(lián)網(wǎng)上,國(guó)際化的趨勢(shì)不可避免,且存儲(chǔ)空間已經(jīng)越來(lái)海量化,因此推薦用utf8,如果開發(fā)內(nèi)網(wǎng)系統(tǒng),如內(nèi)部OA等,可以考慮GBK。字符集的選擇781:節(jié)省空間字符集的選擇24查看MySQL數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)MySQL字符集。mysql>
showvariableslike'character_set_%';
+--------------------------+-------------------------------------+------
|
Variable_name
|
Value
|......
+--------------------------+-------------------------------------+------
|
character_set_client
|
utf8
|......
--
客戶端字符集
|
character_set_connection
|
utf8
|......
|
character_set_database
|
utf8
|......
--
數(shù)據(jù)庫(kù)字符集
|
character_set_filesystem
|
binary
|......
|
character_set_results
|
utf8
|......
|
character_set_server
|
utf8
|......
--
服務(wù)器字符集
|
character_set_system
|
utf8
|......
|
character_sets_dir
|
D:\MySQL
Server
5.0\share\charsets\
|......
+--------------------------+-------------------------------------+------
79查看MySQL數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)MySQL字符集。25查看MySQL數(shù)據(jù)表(table)的MySQL字符集mysql>
show
table
status
from
庫(kù)名
like
‘%表名%';
+-----------+--------+---------+------------+------+-----------------+------
|
Name
|
Engine
|
Version
|
Row_format
|
Rows
|
Collation
|......
+-----------+--------+---------+------------+------+-----------------+------
|
countries
|
InnoDB
|
10
|
Compact
|
11
|
utf8_general_ci
|......
+-----------+--------+---------+------------+------+-----------------+------
查看MySQL數(shù)據(jù)列(column)的MySQL字符集。mysql>
show
full
columns
from
表名;
+----------------------+-------------+-----------------+--------
|
Field
|
Type
|
Collation
|
.......
+----------------------+-------------+-----------------+--------
|
countries_id
|
int(11)
|
NULL
|
.......
|
countries_name
|
varchar(64)
|
utf8_general_ci
|
.......
|
countries_iso_code_2
|
char(2)
|
utf8_general_ci
|
.......
|
countries_iso_code_3
|
char(3)
|
utf8_general_ci
|
.......
|
address_format_id
|
int(11)
|
NULL
|
.......
+----------------------+-------------+-----------------+--------
80查看MySQL數(shù)據(jù)表(table)的MySQL字符集26修改字符集:MySQL:修改默認(rèn)字符集(MySQL5.X)1.修改MySQL數(shù)據(jù)庫(kù)默認(rèn)字符集(mysqldatabasedefaultcharacterset)alterdatabasetestdbdefaultcharacterset=gb2312;2.修改MySQL數(shù)據(jù)表默認(rèn)字符集(mysqltabledefaultcharacterset)altertableip_to_countrydefaultcharacterset=gb2312;3.修改列級(jí)修改示例:mysql>AlterTABLE`products`CHANGE`products_model``products_model`VARCHAR(20)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL;更改了后永久生效4.更改連接字符集a.臨時(shí)更改:mysql>SETNAMESutf8;b.永久更改:shell>vi/etc/f在[client]中增加:default-character-set=utf8注意:修改MySQL的默認(rèn)字符集,不管是在數(shù)據(jù)庫(kù)級(jí)別,還是數(shù)據(jù)表級(jí)別,對(duì)已經(jīng)存儲(chǔ)的字符數(shù)據(jù)無(wú)任何改變。只是新增的表或列,開始使用新的字符集。
81修改字符集:275.修改服務(wù)器級(jí)字符集a.臨時(shí)更改:mysql>SETGLOBALcharacter_set_server=utf8;b.永久更改:shell>vi/etc/f[mysqld]default-character-set=utf8配置/etc/f文件:(linux下local為UTF-8);
分別在如下幾項(xiàng)中添加字符集:[client]default-character-set=utf8[mysqld_safe]default-character-set=utf8[mysqld]default-character-set=utf8#default-table-type=innodb[mysql]default-character-set=gb2312再重啟mysql讓配置生效:servicemysqlrestart
再執(zhí)行:showvariableslike'%character%';825.修改服務(wù)器級(jí)字符集28轉(zhuǎn)換MySQL數(shù)據(jù)表字符集(mysqltablecharacterset)1.MySQL中有一個(gè)數(shù)據(jù)表ip_to_country,以前該表字符列數(shù)據(jù)都是以u(píng)tf8編碼格式存放的,現(xiàn)在想轉(zhuǎn)換為gb2312編碼格式存放。需要使用MySQL轉(zhuǎn)換字符集命令:converttocharactersetaltertableip_to_countryconverttocharactersetgb2312;提示:convertto也會(huì)把數(shù)據(jù)表ip_to_country的默認(rèn)字符集從utf8更改為gb2312。
2.轉(zhuǎn)換MySQL數(shù)據(jù)表中某個(gè)列的字符集(mysqlcolumncharacterset)altertableip_to_countrymodifycountry_namevarchar(50)charactersetgb2312;這個(gè)語(yǔ)句把單獨(dú)一個(gè)列country_name的字符集轉(zhuǎn)換為gb2312。這在用法在實(shí)際中比較少見,因?yàn)榇蠖鄶?shù)情況下,都是改變整個(gè)表的字符集。83轉(zhuǎn)換MySQL數(shù)據(jù)表字符集(mysqltablech舊數(shù)據(jù)庫(kù)GBK字符集舊網(wǎng)站系統(tǒng)GBK編碼新網(wǎng)站utf8編碼思考:數(shù)據(jù)庫(kù)不準(zhǔn)動(dòng),新站又是utf8,如何保持新網(wǎng)站與舊數(shù)據(jù)的兼容?字符集專題-新舊網(wǎng)站并存案例84舊數(shù)據(jù)庫(kù)舊網(wǎng)站系統(tǒng)新網(wǎng)站思考:字符集專題-新舊網(wǎng)站并存案例3
數(shù)字類型字符串類型日期時(shí)間類型選擇正確的數(shù)據(jù)類型數(shù)據(jù)類型85數(shù)字類型數(shù)據(jù)類型31數(shù)字類型86數(shù)字類型32日期和時(shí)間類型87日期和時(shí)間類型33字符串類型88字符串類型34通常我們應(yīng)該選擇盡可能小的數(shù)據(jù)類型,這樣可以節(jié)省空間,并且可以更快地進(jìn)行訪問和更新。但應(yīng)該注意需要保存的數(shù)據(jù)的范圍,如果選擇的類型太小,數(shù)據(jù)可能會(huì)在插入時(shí)被截?cái)嗷虍a(chǎn)生錯(cuò)誤,所以一定要選擇一個(gè)覆蓋所有可能性的數(shù)據(jù)類型為了優(yōu)化存儲(chǔ),在任何情況下均應(yīng)使用最精確的類型。例如,如果列的值的范圍為從1到99999,若使用整數(shù),則MEDIUMINT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店建設(shè)項(xiàng)目管理與運(yùn)營(yíng)合同
- 鋼筋工勞務(wù)承包合同
- 北京車牌租賃協(xié)議范例
- VIP客戶互認(rèn)合作協(xié)議書范本
- 汽車抵押合同
- 珠寶店裝修合同管理費(fèi)標(biāo)準(zhǔn)
- 兼職人員用工勞動(dòng)合同協(xié)議書
- 三維動(dòng)畫委托制作合同范本
- 民間融資三方協(xié)議書范本
- 2025年度辦公室租賃及企業(yè)知識(shí)產(chǎn)權(quán)保護(hù)服務(wù)協(xié)議
- 2023年海南省公務(wù)員錄用考試《行測(cè)》真題卷及答案解析
- 電力工程施工售后保障方案
- 中國(guó)心力衰竭診斷和治療指南2024解讀(完整版)
- 多源數(shù)據(jù)整合
- 新人教版高中數(shù)學(xué)必修第二冊(cè)第六章平面向量及其應(yīng)用教案 (一)
- 校園招聘活動(dòng)策劃方案(6篇)
- 期末 (試題) -2024-2025學(xué)年教科版(廣州)英語(yǔ)四年級(jí)上冊(cè)
- 解讀國(guó)有企業(yè)管理人員處分條例課件
- 湖南省長(zhǎng)沙市一中2024-2025學(xué)年高一生物上學(xué)期期末考試試題含解析
- 小孩使用手機(jī)協(xié)議書范本
- 榆神礦區(qū)郭家灘煤礦(700 萬(wàn)噸-年)項(xiàng)目環(huán)評(píng)
評(píng)論
0/150
提交評(píng)論