Time of Update: 2017-02-27
環境:Navicatfor Mysql 8.2 + MySQL Sever 5.1問題:通過MySQL命令列不能串連,輸入密碼後 無反應,過一段時間出現系統提示音,命令列視窗一閃而過,而且通過Navicat for Mysql 8.2也連不上,出 現如下錯誤:2003 - can's connect to MySQL server on 'localhost' 10060解決:關閉防火牆, 重新串連即可。如果出現10061錯誤,可以參考此文:Navicat for Mysql 出現2003 -
Time of Update: 2017-02-27
Navicat 軟體介紹Navicat是一個強大的MySQL資料庫管理和開發工具。Navicat為專業開發人員提供了一套強大的足夠尖端的工具,但它對於新使用者仍然是易於學習。Navicat,使用了極好的圖形化使用者介面(GUI),可以讓你用一種安全和更為容易的方式快速和容易地建立、組織、存取和共用資訊。 使用者可完全控制 MySQL 資料庫和顯示不同的管理資料,包括一個多功能的圖形化系統管理使用者和存取權限的管理工具,方便將資料從一個資料庫移轉到另一個資料庫中(Local to
Time of Update: 2017-02-27
做DBA三年多,接觸過很多主流資料庫產品,但唯獨沒機會碰觸MySQL,今天開始決定自學MySQL,給自己 沖沖電,先從MySQL的體系架構開始學起。MySQL資料庫的體系架構如下圖所示:從上 圖中可以看出,MySQL主要分為以下幾個組件:串連池組件管理服務和工具組件SQL介面組件分析器組件最佳化器組件緩衝組件外掛程式式儲存引擎物理檔案有其它資料庫基礎的人可以馬上發現,MySQL最大的特色是其可插拔的外掛程式式儲存引擎,儲存引擎是底層 物理架構的實現,每個儲存引擎開發人員都可以按照自己的意願開發。
Time of Update: 2017-02-27
環境:NavicatforMysql 8.2 + MySQL Sever 5.1問題:NavicatforMysql中添加外鍵解 決:方法一:使用SQL語句建立外鍵:alter table 外鍵表 add constraint 約束名 foreign key(欄位名) references 參照表(外鍵欄位名) on delete restrict/set null/cascade on update restrict/set null/
Time of Update: 2017-02-27
這裡介紹的記錄檔都是MySQL資料庫本身的檔案,和具體用什麼儲存引擎無關。錯誤記錄檔MySQL的錯誤記錄檔類似於Oracle的alert.log,預設情況下以.err結尾,DBA在遇到問題時,首先應該查詢 該日誌獲得錯誤資訊。查詢日誌查詢日誌記錄了所有的資料庫請求,即時這些請求沒有得到正確 的執行。慢查詢日誌慢查詢日誌用於記錄已耗用時間比較長的SQL語句,可以通過參數
Time of Update: 2017-02-27
InnoDB是事務安全的儲存引擎,設計上借鑒了很多Oracle的架構思想,一般而言,在OLTP應用中,InnoDB 應該作為核心應用表的首先儲存引擎。InnoDB是由第三方的Innobase Oy公司開發,現已被Oracle收購,創始 人是Heikki Tuuri,芬蘭赫爾辛基人,和著名的Linux創始人Linus是校友。InnoDB體系架構上面是InnoDB的一個簡圖,簡單來說,InnoDB是由一系列後台線程和一大塊記憶體組成。後台線程預設情況下,InnoDB的後台線程有7個 —&
Time of Update: 2017-02-27
一、
Time of Update: 2017-02-27
在上一篇關於《MySQL體系架構》的文章裡提到MySQL最大的特色是其可插拔的外掛程式式儲存引擎,這篇文章將對比幾個主流的儲存引擎。這裡要特別提一點,由於MySQL是開源的,所以如果你對某些儲存引擎不滿意,可以修改或寫一個儲存引擎,增加自己想要的特性,這也是MySQL作為開來源資料庫的優勢之一。下表顯示了各種儲存引擎的特性:其中最常見的兩種儲存引擎是MyISAM和InnoDB剛接觸MySQL的時候可能會有些驚訝,竟然有不支援事務的儲存引擎,學過關係型資料庫理論的人都知道,事務是關係型資料庫的核心
Time of Update: 2017-02-27
環境MySQL 5.1 + 命令列工具問題MySQL分頁解決--建立測試表 create table test ( id int(11) primary key auto_increment, name varchar(20) not null); --插入資料 mysql> insert into test(name) values('test1'); Query OK, 1 row affected (0.16 sec)
Time of Update: 2017-02-27
MySQL一個顯著的特點是其可插拔的儲存引擎,因此MySQL檔案分為兩種,一種是和MySQL資料庫本身相關 的檔案,一種是和儲存引擎相關的檔案。本文主要介紹和InnoDB儲存引擎相關的檔案。資料表空間檔案InnoDB在儲存上也模仿了Oracle的設計,資料按資料表空間進行儲存,但是和Oracle不一樣的是,Oracle 的資料表空間是個邏輯的概念,而InnoDB的資料表空間是個物理的概念。你可以通過參數
Time of Update: 2017-02-27
今天我們來介紹InnoDB儲存引擎的第二個特性 - 兩次寫(doublewrite),如果說插入緩衝是為了提高寫 效能的話,那麼兩次寫是為了提高可靠性,犧牲了一點點寫效能。部分寫失效想象這麼一個 情境,當資料庫正在從記憶體向磁碟寫一個資料頁時,資料庫宕機,從而導致這個頁唯寫了部分資料,這就是 部分寫失效,它會導致資料丟失。這時是無法通過重做日誌恢複的,因為重做日誌記錄的是對頁的物理修改 ,如果頁本身已經損壞,重做日誌也無能為力。兩次寫機制從上面分析我們知道,在部分寫
Time of Update: 2017-02-27
InnoDB儲存引擎有三大特性非常令人激動,它們分別是插入緩衝、兩次寫和自適應雜湊,本篇文章先介紹 第一個特性 - 插入緩衝(insert buffer)在上一篇《MySQL - 淺談InnoDB儲存引擎》中,我們可以 看到在InnoDB的記憶體中有單獨一塊叫“插入緩衝”的地區,下面我們詳細來介紹它。非叢集索引寫性 能問題為了闡述非叢集索引寫效能問題,我們先來看一個例子:mysql>create table t (id int
Time of Update: 2017-02-27
InnoDB儲存引擎中的表非常像Oracle中的索引組織表,每張表必須得有主鍵,如果表在建立時沒有顯示定 義主鍵,則根據以下原則自動建立主鍵:1)如果有非空的唯一索引,則該索引所在的列為主鍵;2)如果不符合上述條件,自動建立一個6個位元組的指標為主鍵。InnoDB儲存引擎的邏輯儲存 結構和Oracle幾乎一樣,從大到小分別為:資料表空間、段、區、頁,它們的關係如下圖所示:資料表空間在上一篇《MySQL InnoDB檔案介紹》中,我們知道InnoDB有一個預設的資料表空間,如果我們啟用了參數
Time of Update: 2017-02-27
本文討論MySQL支援的索引類型及其優缺點。要注意的是:在MySQL中,索引是在儲存引擎層而不是伺服器 層實現,所以不同儲存引擎的索引的工作方式並不一樣,也不是所有的儲存引擎都支援所有類型的索引。B+樹是一種經典的資料結構,由平衡樹和二叉尋找樹結合產生,它是為磁碟或其它直接存取輔助裝置而設 計的一種平衡尋找樹,在B+樹中,所有的記錄節點都是按索引值大小順序存放在同一層的分葉節點中,分葉節點間 用指標相連,構成雙向迴圈鏈表,非分葉節點(根節點、枝節點)只存放索引值,不存放實際資料。下面看一個2
Time of Update: 2017-02-27
昨天晚上在群中和一些網友聊到了MySQL多執行個體的話題,最早接觸MySQL多執行個體還是在1年前,那會我剛步入營運行業,做過MySQL多執行個體的相關實驗,在後來的工作中也很少用到多執行個體,一直就淡漠了它,昨天再次提及,故此再次重新整理下以前的筆記,參考一些大牛的觀點,也參考我的好友賀總(尊稱)的意見,特此寫下這篇文章!廢話不說,切入正題....在同一台物理伺服器上部署多個執行個體,而多執行個體的部署方式簡單,但是如何才能減少我們生產環境的維護成本,如何減少我們出錯的機會,如何方便我們後續的
Time of Update: 2017-02-27
構建高安全電子商務網站之(網站檔案及資料庫自動本地/異地雙備份)架構圖繼續介紹Linux伺服器檔案備份,Database
Time of Update: 2017-02-27
mysqlbinlog從二進位日誌讀取語句的工具。在二進位記錄檔中包含的執行過的語句的日誌可用來協助從崩潰中恢複。一、MYSQL資料庫日誌,有以下幾種日誌:1.錯誤記錄檔: -log-error2.查詢日誌: -log3.慢查詢日誌: -log-slow-queries4.更新日誌: -log-update5.二進位日誌: -log-bin這裡討論的是MYSQL二進位日誌的匯出、匯入;MYSQL二進位日誌完整備份,增量備份。預設情況下,所有日誌建立於mysqld資料目錄中,或者手工指定/etc/
Time of Update: 2017-02-27
一個企業的正常運行,資料的完整性是最關鍵的;所以我們需要在工作中要很熟練的掌握資料的備份與恢複方法;下面是對MysqlDatabase Backup的三種方法總結,希望對大家會有所協助備份開始前的工作環境準備:1、建立用於儲存二進位記錄檔的目錄# mkdir /mybinlog# chown mysql.mysql /mybinlog2、修改設定檔# vim /etc/my.cnflog-bin=/mybinlog/mysql-bin
Time of Update: 2017-02-27
mysql按照備份恢複方式分為邏輯備份和物理備份邏輯備份是備份sql語句,在恢複的時候執行備份的sql語句實現資料庫資料的重現物理備份就是備份資料檔案了,比較形象點就是cp下資料檔案,但真正備份的時候自然不是的cp這麼簡單這2種備份各有優劣,一般來說,物理備份恢複速度比較快,佔用空間比較大,邏輯備份速度比較慢,佔用空間比較小下面介紹以下3種常用的備案方法mysqldump工具備份mysqldump由於是mysql內建的備份工具,所以也是最常用的mysql資料庫的備份工具。支援基於InnoDB的熱
Time of Update: 2017-02-27
當新的客戶串連mysqld時,mysqld建立一個新的線程來處理請求。該線程先檢查是否主機名稱在主機名稱緩衝中。如果不在,線程試圖解析主機名稱:如果作業系統支援安全執行緒gethostbyaddr_r