分类: MySQL

  • 《MySQL Cookbook》電子書分享

    MySQL Cookbook.gif

    MySQL Cookbook provides a unique problem-and-solution format that offers practical examples for everyday programming dilemmas. For every problem addressed in the book, there’s a worked-out solution or “recipe”–short, focused pieces of code that you can insert directly into your applications. More than a collection of cut-and-paste code, this book explanation how and why the code works, so you can learn to adapt the techniques to similar situations.

    Download Now!  《MySQL Cookbook》

  • 《MySQL Admin Cookbook》英文版 分享電子書

     

     
    中文名:MySQL的管理“食譜”
    作者:丹尼爾施奈勒丹尼爾 Schneller
    類型:數據庫
    文檔信息:10.5 MB的PDF格式

    本書介紹

    99 great recipes for mastering MySQL configuration and administration

    Set up MySQL to perform administrative tasks such as efficiently managing data and database schema, improving the performance of MySQL servers, and managing user credentials Deal with typical performance bottlenecks and lock-contention problems Restrict access sensibly and regain access to your database in case of loss of administrative
    user credentials Part of Packt’s Cookbook series: Each recipe is a carefully organized sequence of instructions
    to complete the task as efficiently as possible

    本書內容

    MySQL is the most popular open-source database and is also known for its easy set up feature.
    However, proper configuration beyond the default settings still is a challenge, along with some
    other day-to-day maintenance tasks such as backing up and restoring, performance tuning, and
    server monitoring. These tasks have not been covered thoroughly in the default documentation.
    This book provides both step-by-step recipes and relevant background information on these topics
    and more. It covers everything from basic to advanced aspects of MySQL administration and
    configuration. One of the things you are really going to love about this book is that all
    recipes are based on real-world experience and were derived from proven solutions used in an
    enterprise environment.

    This book shows you everything you need to know about MySQL Administration. You will learn to
    set up MySQL replication to manage load balancing and deal with online backup and fail-over
    scenarios. As you consider the benefits of backing up, you might like to back up your database
    efficiently with advanced techniques covered in this book.
    The book demonstrates how to create, modify, and delete indexes. You will also learn to identify
    duplicate indexes, which hinder your MySQL server performance. This book focuses on
    administration tasks and will help you as an administrator to optimize the database for
    efficiency and reliability.

    You will learn to manage data efficiently by inserting data in existing database content and
    importing and exporting databases. The sooner you learn about taking advantage of metadata from
    this book, the sooner you can start using the space efficiently. Get to know about managing
    users and assigning privileges and regaining lost administrative user credentials. Finally,
    learn to manage the database schema by customizing it to automate database schema evolution in
    the context of application updates.
    ……

    電子書下載: 《MySQL Admin Cookbook》英文版

  • MySQL Connector ODBC Noinstall 5.1.7 – Win32

    MySQL Connector/ODBC (formerly MyODBC)
    Oracle’s ODBC Driver for MySQL
    Copyright 1995, 2010 Oracle and/or its affiliates. All rights reserved.

    This is the source or binary distribution of ODBC for MySQL. This software is distributed with restrictions – please see the license file for details.

    Open Database Connectivity (ODBC) is a widely accepted standard for reading/writing data. ODBC is designed in a similar manner to the MS Windows printing system in that it has a Driver Manager and Drivers. MySQL Connector/ODBC is a driver for the ODBC system which allows applications to communicate with the MySQL server using the ODBC standard. ODBC implementations exist on all popular platforms and MySQL Connector/ODBC is also available on those platforms.

    Oracle provides MySQL support for ODBC by means of the MySQL Connector/ODBC driver and programs. MySQLConnector/ODBC is the ODBC driver for MySQL which is ODBC 3.5x compliant; MyODBC is ODBC 2.5x compliant.To get all functionality from the ODBC 5.1 driver (e.g. transaction support) you should use it against MySQL Database Server 4.1 or later.

    請在此下載:MySQL Connector ODBC Noinstall 5.1.7 Win32

  • 《SQL案例解析:以SQL Server與Oracle為例》分享電子書

    SQL案例解析:以SQL Server與Oracle為例

    DJAA17.jpg

    本書介紹

    SQL案例解析:以SQL Server與Oracle為例: 本書藉由大量經過驗證且可行的範例,讓AP/DBA 以最短的時間熟悉SQL 語言的各種運用與注意事項,以彌補理論與實際應用的落差。所以,每個AP/DBA 都應該有一本,當作案頭書隨時翻閱,並參考作者多年來的經驗談,幫助你順利地解決目前所遇到的SQL 難題。

    作者匯集其多年的資料庫開發經驗,同時探討SQL語法於Oracle及SQL Server兩種企業資料庫系統的應用,書中並涵括許多具商業價值的案例,特別適合已具有Oracle或SQL Server經驗的資料庫開發者、DBA、軟體架構師與資料庫應用維護人員閱讀,藉由本書鍛鍊解決問題之思維及能力。

    本書內容

    以比對式寫法,整理出Oracle及SQL Server常用函數的差異。
    將原本以應用程式或內儲程式開發的需求,嘗試直接以一組SQL指令完成,除了提供另一種思維及解決模式之外,更能有效提升資料庫的執行效率。
    探討常見的日期區間報表實作,以日報、月報、週報、小時區間報表、科學園區的四二輪工時報表,以及完整日期報表等實例。
    詳述如何連結異質資料來源,以及利用SQL指令達成迴圈指令、亂數功能、篩選等。
    本書所探討的概念也適用於MySQL、DB2、Teradata等各類型資料庫。

    本書目錄

    第01章│資料庫的使用
    第02章│SELECT 敘述句
    第03章│基本SQL用法
    第04章│資料異動處理
    第05章│資料型態
    第06章│字串函數的使用
    第07章│日期函數的使用
    第08章│數值函數的使用
    第09章│進階SQL用法
    第10章│日期區間報表
    第11章│預儲程式
    第12章│異質資料來源
    第13章│特殊應用

    電子書下載: 《SQL案例解析:以SQL Server與Oracle為例》

    此電子書由網友上傳分享,僅限於個人學習試用,下載24小時自行刪除,請購買正版書籍!

  • MySQL數據庫管理員認證(CMDBA)

    MySQL作為一個全世界最多人和最多企業採用的資料庫系統,相信許多讀者對於這個全世界最受歡迎的資料庫系統絕對不陌生.MySQL技術認證 (MySQL Certification) 是 MySQL AB 公司為其旗艦數據庫產品MySQL設計的技術認證,持有此認證的考生會被視為具有足夠的 MySQL 操作與實務經驗,尤其是在目前開放源碼社群不斷強打LAMP系統架構下,MySQL 數據庫實已佔有十分重要的地位,而在開放源碼社群中,具有客觀公正評量方法的技術或軟體十分少見,因此 MySQL 的認證更具有其參考價值。
     

    CMDBA 認證鎖定不寫應用程式,但擔任多部伺服器資料調校、規畫與優化的管理人員角色。取得資料庫管理員認證,考生必須通過 DBA-I及 DBA-II (考試。要取得MySQL CMDBA的證照,您必須通過 310-810 310-811 考試科目,考試題目為複選題。 合格標準是考試共有70題,您必須各達到60﹪及65﹪以上的正確題數。
     

    2008年1月16日,Sun昇陽公司 10 億美金收購MySQL,2009年4月20日,甲骨文公司又以74億美金的總額收購Sun昇陽,自從甲骨文收購Sun之後,MySQL考試中心由VUE改成了在Prometric中心線上註冊:http://prometric.com/Sun/default.htm 或者!直接在當地Prometric授權考場報名。

  • “微軟免費重考”活動開始啦!2010年1月13日~6月30日

    重考時間:2010年1月13日——2010年6月30日。
    微軟免費重考優惠券:點擊註冊

    使用您的重考優惠券:進入Prometric網址,使用您的重考優惠券號碼計劃並您的首次考試並付費。

    活動說明:考生必須註冊並取得2010年6月30日之前進行第一次考試和該科目重考的一個優惠券號碼,計劃考試日程,付費及座位。

    適用考試:任何微軟認證70-XXX的考試科目,還有72-XXX,73-XXX的考試都享有此優惠。

    適用國家:是全球範圍的優惠,僅僅適用於Prometric考試中心。

    每次已購買的考試僅僅有一張重考優惠券。

    如何使用您的重考優惠券
    第一步:進入Prometric網站或者當地的考試中心,使用您的重考優惠券號碼計劃並您的首次考試並付費。

    第二步:您當地的考試中心進行考試。

    第三步:如果您沒有通過考試,返回Prometric網站或者當地的考試中心,並使用相同的優惠券號碼進行您的免費重考。

    注:在首次考試後必須等待一天才能註冊免費重考。此次需要在系統中輸入考試結果。如果首次考試沒有通過,可隨時重考(但是參加本次免費重考計劃,則需要等待考試券激活後,方可註冊重考)。如第二次考試仍未通過,則至少需等待14 天后才能參加第三次考試。再以後的所有重考都需等待 14 天。如果已經通過一科的考試,不得再考。 Beta 考試只能考一次。

  • 怎樣選擇MCITP與Oracle的數據庫認證?

    有很多學員都來信詢問是考MCITP:數據庫認證還是Oracle認證?如今哪個數據庫系統應用的更廣泛?哪種認證更有價值? 這樣的諮詢脫離了具體的個例環境,從某種程度上講,就像是您在問別人哪種口味的口香糖更好,薄荷味還是檸檬味? 下面我們就從Oracle和SQL Server的一些應用說起。
    就操作方式看:

    Oracle操作複雜,但同時提供圖形界面和命令行2種方式,在WindowsNT和Unix下操作相同; 微軟數據庫SQL Server操作簡單,但只有圖形界面; 即使是Oracle更能適應企業級的應用,但微軟仍然在該級別所佔據的市場份額超出了人們的想像。同時看來由於微軟數據庫的工作數量與Oracle相比至少為20:1,所以SQL Server的就業機會可能更多,這對於才參加工作或轉行的新人來講工作機會相當重要,但沒有Oracle相關工作的薪水高。

    就市場份額看:

    Oracle適合企業級別,對跨平台、多用戶、多層結構有需求; 微軟數據庫SQL Server適合中小規模公司,限於Windows平台,但憑藉著操作簡單實用、費用低廉(相對而言)吸引了更多的用戶;

    MCITP:數據庫與Oracle的比較

     從職業方向分析:

    而MCITP:數據庫主要涉及Microsoft SQL Server 2005的管理和開發。

     OCP則是Oracle數據庫管理設計。

     從學習成本分析

    MCITP:數據庫認證管理和開發兩個只需要5門課程,每門考試費用450元,不強制要求參加培訓。9iOCP需要參加4門考試(007或者001、031、032、033),Oracle在全球都只要求報考9i OCP認證在其他國家只需要參加一門原廠培訓,可是惟獨在中國採取必須要求參加全部4門的原廠培訓的規定,而且每門價格高達近十几萬元(培訓僅為5天),四門考試(4×125美元)加上四門原廠培訓,所有費用總計在二十萬到三十万萬人之間,即使有半價優惠,其一門培訓的費用就已經遠遠超過了MCITP:數據庫認證所需花費的全部費用。

     從學習難度分析

    MCITP:數據庫認證的難度略低,單機實驗環境實現起來比較方便,建議學習週期一般為3-5個月;

    OCP學習難度大,一般至少為6-12個月;

     從就業環境分析

    在目前中國IT行業的大背景下,很少國內企業會僱傭專門的數據庫管理員來管理數據庫,往往需要數據庫設計、數據庫管理和數據庫開發同時兼作,所以單單把數據庫證書作為自己職業規劃的跳板是不太合適的。更明智的做法是選擇一個方向,學習它獲得相應的證書,再謀求實踐的機會,最後從實踐中找到自己真正需要的知識和能力。

    所以我們建議MCITP:數據庫認證對於才參加工作或轉行的新人來講是一個比較實際和權宜的選擇。

  • MySQL優化全攻略-相關數據庫命令

    接下來我們要討論的是數據庫性能優化的另一方面,即運用數據庫服務器內建的工具輔助性能分析和優化。

    ▲ SHOW

    執行下面這個命令可以了解服務器的運行狀態:

    mysql >show status;

    該命令將顯示出一長列狀態變量及其對應的值,其中包括:被中止訪問的用戶數量,被中止的連接數量,嘗試連接的次數,並發連接數量最大

    值,以及其他許多有用的信息。這些信息對於確定係統問題和效率低下的原因是十分有用的。

    SHOW命令除了能夠顯示出MySQL服務器整體狀態信息之外,它還能夠顯示出有關日誌文件、指定數據庫、表、索引、進程和許可權限表的寶貴

    信息。請訪問http://www.mysql.com/doc/S/H/SHOW.html了解更多信息。

    ▲ EXPLAIN
    EXPLAIN能夠分析SELECT命令的處理過程。這不僅對於決定是否要為表加上索引很有用,而且對於了解MySQL處理複雜連接的過程也很有用。

    下面這個例子顯示瞭如何用EXPLAIN提供的信息逐步地優化連接查詢。 (本例來自MySQL文檔,見

    http://www.mysql.com/doc/E/X/EXPLAIN.html。原文寫到這裡似乎有點潦草了事,特加上此例。)

    假定用EXPLAIN分析的SELECT命令如下所示:
    EXPLAIN SELECT tt.TicketNumber, tt.TimeIn,
           tt.ProjectReference, tt.EstimatedShipDate,
           tt.ActualShipDate, tt.ClientID,
           tt.ServiceCodes, tt.RepetitiveID,
           tt.CurrentProcess, tt.CurrentDPPerson,
           tt.RecordVolume, tt.DPPrinted, et.COUNTRY,
           et_1.COUNTRY, do.CUSTNAME
         FROM tt, et, et AS et_1, do
         WHERE tt.SubmitTime IS NULL
           AND tt.ActualPC = et.EMPLOYID
           AND tt.AssignedPC = et_1.EMPLOYID
           AND tt.ClientID = do.CUSTNMBR;

      
    SELECT命令中出現的表定義如下:

    ※表定義

    表列列類型
    tt ActualPC CHAR(10)
    tt AssignedPC CHAR(10)
    tt ClientID CHAR(10)
    et EMPLOYID CHAR(15)
    do CUSTNMBR CHAR(15)
      

    ※索引

    表索引
    tt ActualPC
    tt AssignedPC
    tt ClientID
    et EMPLOYID (主鍵)
    do CUSTNMBR (主鍵)
    ※tt.ActualPC值分佈不均勻

    在進行任何優化之前,EXPLAIN對SELECT執行分析的結果如下:
    table type possible_keys key key_len ref rows Extra
    et ALL PRIMARY NULL NULL NULL 74
    do ALL PRIMARY NULL NULL NULL 2135
    et_1 ALL PRIMARY NULL NULL NULL 74
    tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872
        range checked for each record (key map: 35)

      
    每一個表的type都是ALL,它表明MySQL為每一個表進行了完全連接!這個操作是相當耗時的,因為待處理行的數量達到每一個表行數的乘積!

    即,這裡的總處理行數為74 * 2135 * 74 * 3872 = 45,268,558,720。

    這裡的問題之一在於,如果數據庫列的聲明不同,MySQL(還)不能有效地運用列的索引。在這個問題上,VARCHAR和CHAR是一樣的,除非它們

    聲明的長度不同。由於tt.ActualPC聲明為CHAR(10),而et.EMPLOYID聲明為CHAR(15),因此這裡存在列長度不匹配問題。

    為了解決這兩個列的長度不匹配問題,用ALTER TABLE命令把ActualPC列從10個字符擴展到15字符,如下所示:
    mysql > ALTER TABLE tt MODIFY ActualPC VARCHAR(15);

      

    現在tt.ActualPC和et.EMPLOYID都是VARCHAR(15)了,執行EXPLAIN進行分析得到的結果如下所示:
    table type possible_keys key key_len ref rows Extra
    tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 where used
    do ALL PRIMARY NULL NULL NULL 2135
        range checked for each record (key map: 1)
    et_1 ALL PRIMARY NULL NULL NULL 74
        range checked for each record (key map: 1)

    et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1

      
    這還算不上完美,但已經好多了(行數的乘積現在少了一個係數74)。現在這個SQL命令執行大概需要數秒鐘時間。

    為了避免tt.AssignedPC = et_1.EMPLOYID以及tt.ClientID = do.CUSTNMBR比較中的列長度不匹配,我們可以進行如下改動:
    mysql > ALTER TABLE tt MODIFY AssignedPC VARCHAR(15),
                MODIFY ClientID VARCHAR(15);

      
    現在EXPLAIN顯示的結果如下:
    table type possible_keys key key_len ref rows Extra
    et ALL PRIMARY NULL NULL NULL 74
    tt ref AssignedPC,ClientID,ActualPC ActualPC 15 et.EMPLOYID 52 where used
    et_1 eq_ref PRIMARY PRIMARY 15 tt.AssignedPC 1
    do eq_ref PRIMARY PRIMARY 15 tt.ClientID 1

      
    這個結果已經比較令人滿意了。
    餘下的問題在於,默認情況下,MySQL假定tt.ActualPC列的值均勻分佈,而事實上tt表的情況並非如此。幸而,我們可以很容易地讓MySQL知

    道這一點:
    shell > myisamchk –analyze PATH_TO_MYSQL_DATABASE/tt
    shell > mysqladmin refresh

      
    現在這個連接操作已經非常理想,EXPLAIN分析的結果如下:
    table type possible_keys key key_len ref rows Extra
    tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 where used
    et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1
    et_1 eq_ref PRIMARY PRIMARY 15 tt.AssignedPC 1
    do eq_ref PRIMARY PRIMARY 15 tt.ClientID 1

      
    ▲ OPTIMIZE

    OPTIMIZE能夠恢復和整理磁盤空間以及數據碎片,一旦對包含變長行的表進行了大量的更新或者刪除,進行這個操作就非常有必要了。

    OPTIMIZE當前只能用於MyISAM和BDB表。

    結束語:從編譯數據庫服務器開始、貫穿整個管理過程,能夠改善MySQL性能的因素實在非常多,本文只涉及了其中很小的一部分。儘管如此

    ,我們希望本文討論的內容能夠對你有所幫助。

     
    //copy者註:
      時間不夠,所以格式上有點問題~~,請大家看詳細的英文原文:http://www.devshed.com/Server_Side/MySQL/Optimize/
    或者看看chinabyte的文章好了:
    http://www.chinabyte.com/builder/detail.shtm?buiid=1012&parid=1

    哈哈~從這點能不能看出來我是全心全意為大家服務的