Time of Update: 2017-02-28
本例所有涉及到的檔案下載地址http://pan.baidu.com/share/link?shareid=1325829979&uk=2065228996第一步:建立資料庫假設有一個sql檔案mysql>use dbname; //建立一個資料庫名為dbname的資料庫(空資料庫)mysql>set names utf8;
Time of Update: 2017-02-28
MySQL複製分為主從複製,主主複製。什麼是主從複製主從複製指有一台器做為主伺服器,一台或多台伺服器做為從伺服器。從伺服器不寫入任何資料,資料的來源是主伺服器。複製的目的是為了資料同步,如果從伺服器也寫入資料的話,在主從架構裡,主伺服器是不會複製從伺服器的資料的,所以會造成資料的不同步,所以,從伺服器不能寫入資料。MySQL複製的基礎,就是二進位日誌,因為二進志日誌裡面,記錄了所有能改變或者能潛在改變資料庫資料的SQL語句,當從伺服器把這些SQL語句複製過來之後,再執行一遍,資料就會跟主伺服器相
Time of Update: 2017-02-28
MySQL單機多執行個體方案,是指在一台物理伺服器上運行多個MySQL資料庫執行個體。MySQL單機多執行個體的優點:1、節省成本,減少伺服器、IP、機櫃的數量,總體運營成本低於單機單一實例方案。2、提升利用率,利用NUMA特性,對MySQL執行個體進行CPU綁定。3、提升使用者體驗,大幅度提高IO回應時間,有助於提升使用者的體驗。MySQL多執行個體部署的具體實施1、MySQL多執行個體目錄的規劃(資料目錄設定檔目錄)執行個體1資料路徑:/home/mysql/data設定檔路徑:/usr/l
Time of Update: 2017-02-28
【目錄】1.MySQL的熱備份指令碼2.用FTP同步伺服器3.Keepalived的監控切換指令碼4.SVN的版本庫的批量備份5.自動監控ADSL並重拔號6.Linux批量產生產生帳戶(10月11日更新)7.測試區域網路內主機是否alive(10月11日更新)一、MySQL的熱備份指令碼這是MySQL的備份方式之一,指令碼如下:#!/bin/bashPATH=/usr/local/sbin:/usr/bin:/bin# The Directory of
Time of Update: 2017-02-28
有一些配置項影響著MySQL怎樣同步資料到磁碟以及如何做恢複操作,這寫操作對效能影響很大,因為都設計到昂貴的I/O操作,通常保證資料立刻並且一致的寫到磁碟是很昂貴的,有的時候不得不冒一點險,延遲持久化到磁碟,來增加並發和減少I/O等待。一、InnoDB I/O配置對於常見的應用,InnoDB記錄檔大小、InnoDB怎樣重新整理日誌緩衝,以及怎樣執行I/O比較重要。a、InnoDB交易記錄InnoDB使用日誌來減少提交事務時的開銷,日誌記錄了事務,就無須在每個事務提交時把緩衝池重新整理到磁碟中了。
Time of Update: 2017-02-28
在我之前的2篇部落格中已經簡單介紹過MySQL5.1之後的分區技術的基本理論和分區技術的表格儲存體檔案及特點,部落格地址如下:http://janephp.blog.51cto.com/4439680/1305220http://janephp.blog.51cto.com/4439680/1305937今天要介紹一下分區技術一些使用情境和機制。MySQL實現分區表的方式--對底層表封裝--意味著索引也按照分區的子表定義的,而沒有全域索引。一、在下面的情境中,作用非常大:1、表非常大無法全部放到
Time of Update: 2017-02-28
只要說明幾種日常用到的查詢可以最佳化的地方,只是特別的情況下可以使用,不要期望任何情況下都成立,最佳化是一個實踐的漫長過程!一、最大值和最小值最佳化對於min()和max()查詢,MySQL的最佳化並不是很好,比方說:select min(actor_id) from actor where first_name =
Time of Update: 2017-02-28
這裡繼續上一篇中的最佳化器部分:MySQL如何執行關聯查詢MySQL對任何關聯都執行嵌套迴圈關聯操作,即先在一個表中迴圈取出單條資料,然後再嵌套迴圈到下一個表中尋找匹配的行,依次下去,直到找到所有表中匹配的行為止。然後根據各個表匹配的行,返回查詢中需要的各個列。MySQL會嘗試在最後一個關聯表中找到所有匹配的行,如果最後一個關聯表無法找到更多的行以後,MySQL返回到上一層次關聯表,看是否能夠找到更多的匹配記錄,依次類推迭代執行。例如:select
Time of Update: 2017-02-28
希望最佳化查詢效能的時候,最好的辦法是弄清楚MySQL是如何最佳化和執行查詢的。瞭解了內部機制,才能更好的實施設計。當MySQL執行一個查詢時,到底做了什麼,先看一副圖吧:1、用戶端發送一條查詢給伺服器。2、伺服器先檢查查詢快取,如果命中了緩衝,則立刻返回緩衝中的結果,否則進入下一步。3、伺服器端進行SQL解析、預先處理、再由最佳化器產生對應的執行計畫。4、MySQL根據最佳化器產生的執行執行計畫,調用儲存引擎的API來進行查詢。5、將結果返回給用戶端上面的每一步都很複雜,特別是查詢最佳化工具這
Time of Update: 2017-02-28
本文是筆者從工作中總結而出.由於時間問題和考慮的不可能足夠全面,所以本文會很長時間才會完成,下面會陸續給出內容,與大家分享^_^在windows下,設定檔為%mysql_home%/my.ini在linux下,配製檔案為/etc/my.cnf一 效能最佳化1--------INNODB_BUFFER_POOL_SIZE該參數是innodb引擎的最主要的績效參數,對資料庫的效能起了決定性作用.說白了就是資料庫的使用記憶體.2--------效能分析,show status like '%';
Time of Update: 2017-02-28
在工作中,有這樣一個需求,就是需要統計24個小時的相關資料.有的朋友認為簡單的一句group by就可以解決。其實不然,真正的統計,24個小時都得有資料的,不允許出現缺失的現象.其實這個有點像廢話,處理結果集ResultSet也可以,但為了減少JAVA的負擔和增強java代碼的可讀性,所以盡量用SQL語句,一次性把資料處理好.表結構,有三個欄位一看就明白Sql代碼CREATE TABLE `vardata` ( `Id` int(11) NOT NULL AUTO_INCREMENT,
Time of Update: 2017-02-28
本人工作中的實際應用.在採集資料的時候,要求資料擷取以後,不能重複.同時也要 求有多個執行個體同時運轉,保證資料擷取的連續性.因此總結了一下,做成了如下的小實驗. 核心代碼如下:表結構:只有3個欄位id,name,passwordSql代碼CREATE TABLE `tt` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `password` varchar(255)
Time of Update: 2017-02-28
一 物化視圖物化視圖,它是用於預先計算並儲存表串連或聚集等耗時較多的操作 的結果,這樣,在執行查詢時,就可以避免進行這些耗時的操作,而從快速的得到結果 。只有大型資料庫oracle10g,db2才支援這個功能,而MySQL5.1暫時還沒有這個功能。 本人通過事件調度和預存程序類比了物化視圖。下面大家一起來討論吧。^-^二 準備知識1)預存程序:玩過資料庫的人,都知道他是啥~,~2)事件調度:在
Time of Update: 2017-02-28
注意:這是安裝失敗版,所以mysql-proxy安裝的過程就沒必要看了。已經講過了mysql主從同步Atlas官方文檔:http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy.htmlmysql-proxy-0.8.1 寫主機也提供讀mysql-proxy-0.8.2
Time of Update: 2017-02-28
一、背景之前我寫過關於SQL Server的資料移轉自動化的文章:SQL Server
Time of Update: 2017-02-28
一、在已知MYSQL資料庫的ROOT使用者密碼的情況下,修改密碼的方法:1、在SHELL環境下,使用mysqladmin命令設定:mysqladmin –u root –p password “新密碼” 斷行符號後要求輸入舊密碼2、在mysql>環境中,使用update命令,直接更新mysql庫user表的資料:Update mysql.user set password=password(‘
Time of Update: 2017-02-28
將Mysql資料庫轉換為MSsql的資料庫,或者將Mssql資料庫轉換為Mysql的資料庫,在NT環境下很多時候都會用到。使用MySql ODBC後就比較好辦,可以使用MSSQL7的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具。這裡介紹一個使用SQL7的MMC的方法
Time of Update: 2017-02-28
這段時間伺服器崩潰2次,一直沒有找到原因,今天看到論壇發出的錯誤資訊郵件,想起可能是mysql的預設串連數引起的問題,一查果然,老天,預設串連數才100, 怎麼夠呀,在網上找了半天資料,有說修改my.cnf的,有說修改safe_mysqld,試了,前者無用,後者檔案找不到:)原來是以前的版本跟現在的版本有所不同。言歸正傳。我以centos 4.4 下面的mysql 5.0.33 手工編譯版本為例說明:vi
Time of Update: 2017-02-28
MySQL 5.1的中文支援的一個改進,從MySQL 4.1開始不支援中文路徑,檔案名稱的問題解決了。見下面樣本Microsoft Windows XP [版本 5.1.2600](C) 著作權 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>runas /user:aaa cmd輸入 aaa 的密碼:試圖將 cmd 作為使用者 "MY-TOMATO\aaa"
Time of Update: 2017-02-28
.net 串連MYSQL資料庫的方法及樣本方法一:使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL,下面提供最新版的下載http://www.weiqisj.cn/mysql-connector-net-6.0.2.zip該組件為MYSQL為ADO.NET訪問MYSQL資料庫設計的.NET訪問組件。安裝完成該組件後,引用命名空間MySql.Data.MySqlClient;使用命令列編譯時間:csc