Time of Update: 2017-01-19
概述記錄檔是MySQL資料庫的重要組成部分。MySQL有幾種不同的記錄檔,通常包括錯誤記錄檔檔案,二進位日誌,通用日誌,慢查詢日誌,等等。這些日誌可以協助我們定位mysqld內部發生的事件,資料庫效能故障,記錄資料的變更曆史,使用者恢複資料庫等等。本文主要描述MySQL的各種記錄檔。MySQL記錄檔分類1.錯誤記錄檔(Error Log)2.二進位日誌(Binary Log & Binary Log Index)3.通用查詢日誌(query log)4.慢查詢日誌(slow query log)
Time of Update: 2017-01-19
概述Mysql的Replication(複製)是一個非同步複製過程,從一個 Mysql instance(我們稱之為 Master)複製到另一個Mysql instance(我們稱之 Slave)。在 Master 與 Slave之間的實現整個複製過程主要由三個線程來完成,其中兩個線程(Sql線程和IO線程)在 Slave 端,另外一個線程(IO線程)在Master端。主從同步需求要實現 MySQL 的 Replication ,首先必須開啟 Master
Time of Update: 2017-01-19
我們可以在mysql的安裝目錄下看到mysql的二進位記錄檔,如mysql-bin.000***等,很多人都不及時的處理,導致整個硬碟被塞滿也是有可能的。這些是資料庫的動作記錄。它記錄了我們平時使用的sql語句命令,即使這個sql語句沒有被執行,也會被記錄,它包括執行時間之類的都詳細在案,其實 它的目的有兩個:一是方便我們查錯和恢複資料庫;二是為了主從伺服器之間同步資料用的,主從伺服器上所有操作都記錄在日誌裡,從伺服器可以根據這些日誌來進行相同的操作,確保主從兩個同步。查看mysql日誌的命令:
Time of Update: 2017-01-19
當我們運行mysql用戶端串連mysql伺服器的時候,以一種暴露的可被其他使用者發現的方式指定我們的密碼是不妥的。我們輸入密碼的方式有四種,其中每一種都有一定風險。下面就分別說下這四種方式:MySQL密碼輸入的安全操作(翻譯)第一種:直接在命令列後使用 -pyour_pass 或者r --password=your_pass 這兩種選項。舉例:shell> mysql -u ksharpdabu -pksharppassword
Time of Update: 2017-01-19
對於有的vps,系統預設安裝了mysql。我們需要從我們的伺服器、vps上卸載(移除)預設的mysql。那麼如何(怎樣)在ubuntu\Debian上卸載mysql?通常情況下,下列mysql軟體包會被安裝到 Debian 、Ubuntu中: mysql-client - The latest version of MySQL database client(最新版的mysql資料庫用戶端). mysql-server - The latest version of MySQL
Time of Update: 2017-01-19
要訪問一個MySQL伺服器,你需要使用一個使用者帳號登入其中方可進行。每個MySQL使用者帳號都有許多與之相關連的屬性,例如使用者名稱、密碼以及許可權和資源限制。"許可權"定義了特定使用者能夠在MySQL伺服器中做什麼,而"資源限制"為使用者佈建了一系列伺服器資源的使用許可。建立或更新一個使用者涉及到了對使用者帳號所有屬性的管理。下面展示了如何在Linux中建立和設定一個MySQL使用者。首先以root身份登入到MySQL伺服器中。 $ mysql -u root
Time of Update: 2017-01-19
在命令列中輸入命令並不是一個好主意,會造成安全問題。但是如果你決定去寫一個應用,而這個應用需要在命令列中使用密碼或者其他敏感資訊。那麼,你能通過以下方法禁止系統的其他使用者輕易的看到這些敏感性資料 呢?,類似MySQL在ps命令下隱藏密碼。假設我這裡系統裡兩個使用者,一個是root ,一個是dabu 。測試系統為centos 6.5在按照下面的步驟做:[root@dabu.info ~]#su dabu #切換到dabu這個帳號[dabu@dabu.info ~]$cd ~
Time of Update: 2017-01-19
使用資料庫事務可以確保除事務性單元內的所有操作都成功完成。MySQL中的InnoDB引擎的表才支援transaction。在一個事務裡,如果出現一個資料庫操作失敗了,事務內的所有操作將被復原,資料庫將會回到事務前的初始狀態。有一些不能被復原的語句:將在本文的最後討論。在一個web應用中,會很經常遇到需要使用事務的地方,要麼希望若干語句都執行成功,要麼都不執行,如果出現有些執行成功,而其他的失敗將會導致資料損毀。在這篇文章的例子中,我們使用下面的兩張表"employee"和"telep
Time of Update: 2017-01-19
看看下面三個關聯查詢的 SQL 陳述式有何區別? SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id)SELECT * FROM film JOIN film_actor USING (film_id)SELECT * FROM film, film_actor WHERE film.film_id = film_actor.film_id最大的不同更多是文法糖,但有一些有意思的東西值得關注。
Time of Update: 2017-01-19
我正在用 MySQL 用戶端的時候,突然想到如果可以給查詢結果添加排名該多好啊,然後就找到了一個簡單的解決辦法。下面是一個樣本表的資料: 然後我們要根據 Roll_No 欄位進行排序並給出排名,我們首先必須定義一個初始值為0的變數,然後在查詢結果中使用這個變數。如下面的代碼: SET @counter=0; SELECT @counter:=@counter+1 AS Rank,LastName,Roll_no as Roll FROM Students
Time of Update: 2017-01-19
MySQL、Sphinx及許多資料庫和搜尋引擎中的查詢是單線程的。比如說,在一台32個CPU核心、16個磁碟的R910伺服器上執行一個查詢,它最多隻會用到一個核心和一個磁碟。沒錯,只會使用一個。如果查詢是CPU密集型作業,那麼會使用大約3%的整機CPU能力(以上述32核機器為例)。如果是磁碟密集型,則大約會使用6%的整機IO能力(也是與上例同樣的配置,16個磁碟組成RAID10或RAID0)。我再換個說法吧。如果你在一台單核單磁碟的機器上執行了某個查詢,花了10秒,那麼把同樣的查詢放
Time of Update: 2017-01-19
最近mysql安裝出現問題:1.作業系統不同,安裝過程中刪除,清理也不同:window 7: 安裝mysql過程中,最後安裝到start
Time of Update: 2017-01-19
在很長一段時間內,PostgreSQL都被認為是MySQL的替代品。但是,在那段時間裡,根本沒有辦法使他達到MySQL所能達到的水平。最近幾年裡,這些問題都無法解決,並且產生了許多有趣的工具來彌補PG。我們在Disqus中使用了兩個Slony和pgbouncer。Slony讓我們可以複製資料(有時候也可以分區),而pgbouncer為我們解決了保持連結和串連池的問題。另外,讓我們看看他們的語言:我這個星期很高興能夠學會如何在PGSQL8.4中使用遞迴查詢,他們實在太強大了。這就是我這篇文章所真正
Time of Update: 2017-01-19
在 MySQL 中建立儲存過程的文法很難記,除非你經常跟儲存過程打交道,原因很簡單,文法不是什麼小笑話。如果你通過命令列控制 MySQL,你需要記住準確的文法。一個快速樣本可以很好的協助你做到這點。在MySQL 入門教程中,我們能夠看到很多關於如何建立儲存過程 和如何利用 IN 和 OUT 參數調用預存程序的樣本。這些樣本都很簡單,能夠很好的協助你理解 MySQL 中建立帶參數預存程序的文法。這些樣本已在 MySQL 5.5 中通過測試。我們將用下面的僱員表建立並測試這些儲存過程:&
Time of Update: 2017-01-19
緒言在Visual Studio中使用嚮導串連到MySQL資料庫是一件相當棘手的事情。因為MySQL並不在VS2012預設支援的資料庫中(比如SQL Server)。在本文中我將介紹如何使用VB.NET串連到MySQL資料庫並且執行SQL語句(SELECT,UPDATE,DELETE),同時我會展示如何將MySQL連接器匯入(connectors)到Visual Studio 2012中。使用代碼 你須要從http://dev.mysql.com/
Time of Update: 2017-01-19
近來,我和一幫老客戶一起工作,他們讓花時間給他們說一下在他們新環境中使用的新工具。其中,我發現的一個非常有用的工具是SchemaSpy。SchemaSpy是Java開發的的工具(要求java 5或更高版本的支援),主要用來分析資料庫中資料模型的中繼資料,並且能產生基於瀏覽器可視化的顯示。通過點擊就可瞭解資料表的階層,父子表關係等,主要通過HTML
Time of Update: 2017-01-19
避免編輯轉儲檔案Mysqldump建立的轉儲檔案原本是無害的,但它很容易被嘗試去編輯。然而,人們應該知道在任何情況下的試圖修改這些檔案被證明是有危險的。直觀地看對這些檔案的改動會導致資料庫損壞,從而導致系統的退化。為了讓你的系統免受任何麻煩,你必須避免編輯MySQL轉儲檔案。MyISAM
Time of Update: 2017-01-19
回顧 MySQL / InnoDB 的改善曆史。你能很容易發現。在MySQL 5.6穩定版本中從來沒有在read-only 這麼快的提速,它很容易搞懂,以及在read-only(RO)有著良好的擴張性。也很期待它在read+write(RW)上達到一個較高水平。(特別是在讀取資料是資料庫主要工作的時候)然而。我們對於RO在 MySQL 5.6的表現也十分的高興,在5.7這個版本中,主要工作集中在 read+write (RW)上,
Time of Update: 2017-01-19
MySQL升級是非常必要的. 我們在Percona Support上列出了關於MySQL升級最佳實務的各種問題.這篇文章推薦了一些不同情況下升級MySQL的方法.為什麼MySQL升級是必須的? 原因有很多,比如:為了使用新增的特性,基於效能方面的考量, 修複的bug. 但是在沒有充分的測試以前就應用到你的應用中是非常危險的, 因為升級可以能會讓你的應用不能正常運作- 也可能引起效能的問題. 此外, 我建議你關注MySQL的發布資訊和Percona Server -
Time of Update: 2017-01-19
今天我遇到一個問題,MySQL企業版備份引起I/O子系統負載過大,應用響應緩慢,導致系統不可用。所以我想限制mysqlbackup的進程,使它不會引起更多的問題。mysqlbackup命令裡面有讀,寫和進程數的設定。預設是1個讀,1個寫和5個線程。因為我用的是預設設定,所以還是沒有必要去調整了。使用ionice工具沒法工作,因為它需要CFG I/O調度器。我在這篇文章裡找到一個方法。