Time of Update: 2017-01-19
Antelope是innodb-base的檔案格式,Barracude是innodb-plugin後引入的檔案格式,同時Barracude也支援Antelope檔案格式。兩者區別在於: 檔案格式 支援行格式 特性 Antelope (Innodb-base) ROW_FORMAT=COMPACT ROW_FORMAT=REDUNDANT
Time of Update: 2017-01-19
在MySQL中,InnoDB引擎類型的表支援了外鍵約束。外鍵的使用條件:1.兩個表必須是InnoDB表,MyISAM表暫時不支援外鍵(據說以後的版本有可能支援,但至少目前不支援);2.外鍵列必須建立了索引,MySQL 4.1.2以後的版本在建立外鍵時會自動建立索引,但如果在較早的版本則需要顯示建立;3.外鍵關係的兩個表的列必須是資料類型相似,也就是可以相互轉換類型的列,比如int和tinyint可以,而int和char則不可以;外鍵的好處:可以使得兩張表關聯,保證資料的一致性和實現一些級聯操作;
Time of Update: 2017-01-19
Mysql索引概述所有MySQL列類型可以被索引。對相關列使用索引是提高SELECT操作效能的最佳途徑。根據儲存引擎定義每個表的最大索引數和最大索引長度。所有儲存引擎支援每個表至少16個索引,總索引長度至少為256位元組。大多數儲存引擎有更高的限制。在MySQL 5.1中,對於MyISAM和InnoDB表,首碼可以達到1000位元組長。請注意首碼的限制應以位元組為單位進行測量,而CREATE
Time of Update: 2017-01-19
一、環境說明:複製代碼 代碼如下:[root@beanvm ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 6.2 (Santiago)[root@beanvm ~]# uname -aLinux beanvm 2.6.32-220.el6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686 i686 i386
Time of Update: 2017-01-19
我們知道通常的SQL查詢語句是這麼寫的:複製代碼 代碼如下:select col from table;這當然沒問題,但如果欄位名是“from”呢?複製代碼 代碼如下:select from from table;若真的這麼寫,必然出錯,當欄位名與MySQL保留字衝突時,可以用字元“`”將欄位名括起來:複製代碼 代碼如下:select `from` from
Time of Update: 2017-01-19
一、什麼是表分區通俗地講表分區是將一大表,根據條件分割成若干個小表。mysql5.1開始支援資料表分區了。如:某使用者表的記錄超過了600萬條,那麼就可以根據入庫日期將表分區,也可以根據所在地將表分區。當然也可根據其他的條件分區。二、為什麼要對錶進行分區為了改善大型表以及具有各種訪問模式的表的延展性,可管理性和提高資料庫效率。分區的一些優點包括:
Time of Update: 2017-01-19
複製代碼 代碼如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc() -> MODIFIES SQL DATA -> BEGIN -> DECLARE l_status VARCHAR(20); -> -> CALL myProc1(l_status); -> IF l_status='Duplicate Entry' THEN ->
Time of Update: 2017-01-19
修改密碼:複製代碼 代碼如下://選擇資料庫use mysql;//修改密碼update user set password=password('新密碼') where user='root';//立即生效flush privileges忘記管理員密碼:在my.ini的[mysqld]欄位下面加入: 複製代碼 代碼如下:skip-grant-tables重啟mysql服務,這時的mysql不要求輸入密碼即可登入資料庫然後進入mysql 複製代碼 代碼如下:use mysql;update
Time of Update: 2017-01-19
一、前提 這裡的原則只是針對MySQL資料庫,其他的資料庫某些是殊途同歸,某些還是存在差異。我總結的也是MySQL普遍的規則,對於某些特殊情況得特殊對待。在構造SQL語句的時候要養成良好的習慣。二、原則總結 原則1、僅列出需要查詢的欄位,這對速度不會明顯的影響,主要是考慮節省應用程式伺服器的記憶體。原來語句: select * from admin最佳化為: select admin_id,admin_name,admin_password from
Time of Update: 2017-01-19
備份MySQL資料庫的命令複製代碼 代碼如下:mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql備份MySQL資料庫為帶刪除表的格式備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。複製代碼 代碼如下:mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.
Time of Update: 2017-01-19
一、TIMESTAMP的變體TIMESTAMP時間戳記在建立的時候可以有多重不同的特性,如:1.在建立新記錄和修改現有記錄的時候都對這個資料列重新整理:TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP2.在建立新記錄的時候把這個欄位設定為目前時間,但以後修改時,不再重新整理它:TIMESTAMP DEFAULT
Time of Update: 2017-01-19
安裝完mysql-server 會提示可以運行mysql_secure_installation。運行mysql_secure_installation會執行幾個設定: a)為root使用者佈建密碼 b)刪除匿名帳號 c)取消root使用者遠程登入 d)刪除test庫和對test庫的存取權限
Time of Update: 2017-01-19
ERROR 1786 (HY000)【環境描述】msyql5.6.14【報錯資訊】執行create table ... select的時候遇到報錯:複製代碼 代碼如下:db1 [test] [23:01:58]> create tablelgmnr_bak select * from lgmnr;ERROR 1786 (HY000): CREATE TABLE ... SELECTis forbidden when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1
Time of Update: 2017-01-19
安裝環境:centos 5.4mysql版本:mysql 5.1.xx 採用rpm直接安裝所需軟體: xtrabackup 1.2.22 採用rpm直接安裝1. Master:/etc/my.cnf 複製代碼 代碼如下:[mysqld] server-id = 1log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/mysql character-set-server=utf8
Time of Update: 2017-01-19
試了Google到的幾種方法,都沒有解決,然後突然想起在啟動apache的時候,iis的連接埠佔用情況(因為我的apache也使用了80連接埠),所以 開啟命令列netstat -aon|findstr "3306"結果顯示 默默的在內心深處罵了一句“靠”,果然是連接埠佔用,然後,順藤摸瓜tasklist|findstr "416"結果顯示
Time of Update: 2017-01-19
主從的作用:1.可以當做一種備份方式2.用來實現讀寫分離,緩解一個資料庫的壓力 MySQL主從備份原理:Mysql的主從複製至少是需要兩個Mysql的服務,當然Mysql的服務是可以分布在不同的伺服器上,也可以在一台伺服器上啟動多個服務。如果想配置成為同一台上的話,注意安裝的時候,選擇兩個不同的prefix=路徑,同時開啟伺服器的時候,連接埠不能相同。(1)首先確保主從伺服器上的Mysql版本相同(做主從伺服器的原則是,MYSQL版本要相同,如果不能滿足,最起碼從伺服器的MYSQL的版
Time of Update: 2017-01-19
複製代碼 代碼如下:錯誤碼 1045Access denied for user 'root'@'localhost' (using password:YES)解決辦法是重新設定root使用者密碼,在Windows平台下操作步驟如下:1、以系統管理員身份登入到系統;2、如果MySQL伺服器正在運行,停止它。 如果是作為Windows服務啟動並執行伺服器,進入服務管理員:開始菜單->控制台->管理工具->服務
Time of Update: 2017-01-19
在這一章節裡, 我們來瞭解下如何在 Mysql 中進行使用者授權及主從複製 這裡先來瞭解下 Mysql 主從複製的優點: 1、 如果主伺服器出現問題, 可以快速切換到從伺服器提供的服務2、 可以在從伺服器上執行查詢操作, 降低主伺服器的訪問壓力3、 可以在從伺服器上執行備份, 以避免備份期間影響主伺服器的服務注意一般只有更新不頻繁的資料或者對即時性要求不高的資料可以通過從伺服器查詢, 即時性要求高的資料仍然需要從主要資料庫獲得 在這裡我們首先得完成使用者授權,
Time of Update: 2017-01-19
如果你使用的正是mysql資料庫,那麼你把密碼或者其他敏感重要訊息儲存在應用程式裡的機會就很大。保護這些資料免受駭客或者窺探者的擷取是一個令人關注的重要問題,因為您既不能讓未經授權的人員使用或者破壞應用程式,同時還要保證您的競爭優勢。幸運的是,MySQL帶有很多設計用來提供這 種型別安全的加密函數。本文概述了其中的一些函數,並說明了如何使用它們,以及它們能夠提供的不同層級的安全。雙向加密
Time of Update: 2017-01-19
可以用SQL實現同樣的功能,就是麻煩了點。 drop table t1; drop table t2;create table t1(id int primary key,nickname varchar(20),playNum varchar(20));create table t2(id int primary key,nickname varchar(20),playNum varchar(20));insert into t1 values(1,1,10);insert