Time of Update: 2017-01-19
有些 MySQL 資料表中可能存在重複的記錄,有些情況我們允許重複資料的存在,但有時候我們也需要刪除這些重複的資料。本章節我們將為大家介紹如何防止資料表出現重複資料及如何刪除資料表中的重複資料。一、防止表中出現重複資料你可以在MySQL資料表中設定指定的欄位為 PRIMARY KEY(主鍵) 或者 UNIQUE(唯一) 索引來保證資料的唯一性。讓我們嘗試一個執行個體:下表中無索引及主鍵,所以該表允許出現多條重複記錄。CREATE TABLE person_tbl( first_name
Time of Update: 2017-01-19
一個普通WEB網站的頁面常常需要查詢N條SQL語句後才能得出頁面結果,當網站訪問速度慢而前端做了大量最佳化工作以後,資料庫瓶頸的尋找也是WEB最佳化的一個重要部分。 MySQL中提供了一個慢查詢的日誌記錄功能,可以把查詢SQL語句時間大於多少秒的語句寫入慢查詢日誌,日常維護中可以通過慢查詢日誌的記錄資訊快速準確地判斷問題所在。開啟慢查詢功能log-slow-queries 慢查詢記錄檔路徑long_query_time
Time of Update: 2017-01-19
零,什麼是資料庫分區來說一下什麼是資料庫分區,以mysql為例。mysql資料庫中的資料是以檔案的形勢存在磁碟上的,預設放在/mysql/data下面(可以通過my.cnf中的datadir來查看),一張表主要對應著三個檔案,一個是frm存放表結構的,一個是myd存放表資料的,一個是myi存表索引的。如果一張表的資料量太大的話,那麼myd,myi就會變的很大,尋找資料就會變的很慢,這個時候我們可以利用mysql的資料分割函數,在物理上將這一張表對應的三個檔案,分割成許多個小塊,這樣呢,我們尋找一
Time of Update: 2017-01-19
在linux安裝mysql是一個困難的事情,yum安裝一般是安裝的mysql5.1,現在經過自己不懈努力終於能用yum安裝mysql5.5了。下面通過兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過程,一起學習吧。方法一:具體方法和步驟如下所示:1.第一步就是看linu是否安裝了mysql,經過rpm -qa|grep mysql查看到centos下安裝了mysql5.1,那就開始卸載咯2.接下來就是卸載mysql5.1了,命令:rpm -e mysql-libs --
Time of Update: 2017-01-19
MySQL資料庫是Linux作業系統上用得最多的資料庫系統,它可以非常方便的與其它伺服器整合在一起,如Apache、Vsftpd、Postfix等。下面介紹RHEL 6平台MySQL資料庫伺服器的安裝方法。1、安裝完整的MySQL資料庫需要以下幾個RPM包檔案:perl-DBI-1.609-4.e16.i686.rpm:Perl語言的資料APIperl-DBD-MySQL-4.013-3.e16.i686.rpm:MySQL與Perl語言的介面程式包mysql-5.1.61-4.e16.i686
Time of Update: 2017-01-19
MySQL的設定檔my.cnf中預設存在一行skip-external-locking的參數,即“跳過外部鎖定”。根據MySQL開發網站的官方解釋,External-locking用於多進程條件下為MyISAM資料表進行鎖定。如果你有多台伺服器使用同一個資料庫目錄(不建議),那麼每台伺服器都必須開啟external
Time of Update: 2017-01-19
在linux系統下學習MySQL,第一道坎就是如何在linux下安裝和配置mysql。這種一勞永逸的事,我們就有耐心的做好。 系統版本:ubuntu14.04 mysql版本:mysql-server-5.5 mysql-client-5.5 先檢查是否已經安裝了mysql,(Ctrl+Alt+T)終端輸入命令: sudo netstat -tap|grep
Time of Update: 2017-01-19
mysql簡介MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言
Time of Update: 2017-01-19
MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言 (SQL)(SQL)進行資料庫管理。其實,檢索出的資料並不是以純隨機順序顯示的。如果不排序,資料一般將以它底層表現中出現的順序顯示。這可以是資料最初添加到表中的順序。但是,如果資料後來進行過更新或刪除,則此順序將會受到MySQL重用回收儲存空間的影響。因此,如果不明確控制的話,不能依賴該排序次序。在多個列上將序排列
Time of Update: 2017-01-19
MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言 (SQL)(SQL)進行資料庫管理。使用Select語句返回的資料,可能會發現顯示的資料會與其他的地方順序不同。出現這種情況很正常。如果沒有明確排序查詢結果。則返回的資料沒有特殊意義。返回資料的順序可能是是資料被添加到表中的順序,也可能不是。只要返回相同數目的行,就是正常。注意:SQL語句和大小寫
Time of Update: 2017-01-19
MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言 (SQL)(SQL)進行資料庫管理。show column from tablename;對每一個欄位返回一行,行中包含欄位名,資料類型、是否允許NULL、鍵資訊、預設值以及其他資訊。describe 語句: MySQL支援使用describ作為show columns from 的一種捷徑。describ tablename所支援的其他的show語句:show
Time of Update: 2017-01-19
1.1 什麼是資料庫資料庫(database)是一個以某種有組織的方式儲存的資料集合。 儲存有組織的資料的容器(通常是一個檔案或一組檔案)注意:人們通常使用資料庫來代表他們使用的資料庫軟體。其實這是不正確的,確切的說,資料庫軟體應該成為DBMS(資料庫管理系統)。資料庫是通過DBMS建立和操作的容器。資料庫可以是儲存在硬體裝置上的檔案,但也可以不是。在很大程度上說,資料庫究竟是檔案還是別的什麼東西並不重要,因為你並不直接存取資料庫;你使用的是DBMS,它替你訪問資料庫。1.2 表表(table)
Time of Update: 2017-01-19
一、正則與LIKE的區別 Mysql的Regex僅僅使SQL語言的一個子集,可以匹配基本的字元、字串。例如:select * from wp_posts where post_name REGEXP'hello',可以檢索出列post_name中所有包含hello的行REGEXP'.og' .是Regex中裡一個特殊的字元。它表示匹配一個字元,因此,dog,hog,mog等等都能匹配。注意:關於LIKE和REGEXP的區別:LIKE匹配整個列。如果被匹配的文本僅在列值中出現,
Time of Update: 2017-01-19
高可用架構對於互連網服務基本是標配,無論是應用服務還是資料庫服務都需要做到高可用。雖然互連網服務號稱7*24小時不間斷服務,但多多少少有一些時候服務不可用,比如某些時候網頁打不開,百度不能搜尋或者無法發微博,發微信等。一般而言,衡量高可用做到什麼程度可以通過一年內服務不可用時間作為參考,要做到3個9的可用性,一年內只能累計有8個小時不可服務,而如果要做到5個9的可用性,則一年內只能累計5分鐘服務中斷。所以雖說每個公司都說自己的服務是7*24不間斷的,但實際上能做到5個9的屈指可數,甚至根本做不到
Time of Update: 2017-01-19
而由於InnoDB是一個健壯的事務型儲存引擎,已經有10多年的曆史,一些重量級的互連網公司(Yahoo,Google Netease ,Taobao)也經常使用 我的日常工作也經常接觸InnoDB,現在就InnoDB一部分可以改善效能的參數列舉 1. innodb_additional_mem_pool_size
Time of Update: 2017-01-19
複製代碼 代碼如下: DELIMITER $$ USE `servant_591up`$$ DROP PROCEDURE IF EXISTS `sp_move_data`$$ CREATE PROCEDURE `sp_move_data`() BEGIN DECLARE v_exit INT DEFAULT 0; DECLARE v_spid BIGINT; DECLARE v_id BIGINT; DECLARE i INT DEFAULT 0; DECLARE c_table INT;
Time of Update: 2017-01-19
方法一: select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' //預存程序 select `name` from mysql.proc where db = 'your_db_name' and `type` = 'FUNCTION' //函數 方法二: show procedure status; //預存程序 SHOW PROCEDURE STATUS WHERE
Time of Update: 2017-01-19
目前兩個用戶端擴充功能庫連線逾時可以設定選項來操作,比如mysqli: 複製代碼 代碼如下: <?php //建立對象 $mysqli = mysqli_init(); //設定逾時選項 $mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5); //串連 $mysqli->real_connect('localhost', 'my_user', 'my_password', 'world'); //如果逾時或者其他串連失敗列印錯誤資訊
Time of Update: 2017-01-19
如果你的設定檔使用了類似my-innodb-heavy-4G.cnf作為設定檔的話。 Mysql可以正常啟動,但innodb的表無法使用 在錯誤記錄檔裡你會看到如下輸出: InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 現在需要做的事情就是把原來的 innodb 的ib_logfile×備份到一個目錄下,然後刪除掉原來的檔案,重啟 mysql。
Time of Update: 2017-01-19
原來自己用的是為了裝的, 所以在設定database usage(如下圖1)的時候按照discuz官方的建議,選的都是Non-Transactional Database