Time of Update: 2017-01-19
預設登入mysql之後可以通過SHOW VARIABLES語句查看系統變數及其值。 mysql> show variables like '%character%';說明:以下是在CentOS-6.2下的設定 (不同的版本可能有些差異,比如檔案的位置。但設定的內容應該是一樣的)1. 找到mysql的設定檔,拷貝到etc目錄下,第一步很重要 把/usr/share/doc/mysql-server-5.1.52/my-large.cnf
Time of Update: 2017-01-19
複製代碼 代碼如下: one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新會員必須購買350元產品' while PATINDEX ('%[0-9]%', @s)>0 begin set @i=@i+substring(@s,PATINDEX ('%[0-9]%', @s),1) set @s=stuff(@s,1,PATINDEX ('%[0-9]%', @s),'') end select @i -
Time of Update: 2017-01-19
思維導圖 介紹 mysql中用的最多儲存引擎就是innodb和myisam。做為Mysql的預設儲存引擎,myisam值得我們學習一下,以下是我對《高效能MYSQL》書中提到的myisam的理解,請大家多多指教。 特點 > 不支援事務 證明如下: >>
Time of Update: 2017-01-19
鎖定也將降低多串連測試的整體時間,儘管因為它們等候鎖定最大等待時間將上升。例如: 複製代碼 代碼如下: Connection 1 does 1000 inserts Connections 2, 3, and 4 do 1 insert Connection 5 does 1000 inserts 如果不使用鎖定,2、3和4將在1和5前完成。如果使用鎖定,2、3和4將可能不在1或5前完成,但是整體時間應該快大約40%。
Time of Update: 2017-01-19
對比一下,首先是用 mysql 的預存程序弄的: 複製代碼 代碼如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> create procedure test() begin declare i decimal (10) default 0 ; dd:loop INSERT INTO `million` (`categ_id`, `categ_fid`, `SortPath`, `address`,
Time of Update: 2017-01-19
引題:為何引入事務?1>.資料完整性2>.資料安全性3>.充分利用系統資源,提高系統並發處理的能力1. 事務的特徵事務具有四個特性:原子性(Atomiocity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability),這四個特性簡稱ACID特性。1.1原子性事務是資料庫的邏輯工作單位,事務中包括的所有操作要麼都做,要麼都不做。1.2 一致性事務執行的結果必須是使資料庫從一個一致性的狀態變到另外一個一致性狀態。1.3&
Time of Update: 2017-01-19
其實,這一種說法是不完全正確的。首先第一點,mysql的query_cache的索引值並不是簡單的query,而是query加databasename加flag。這個從源碼中就可以看出。在這裡不做重點描述,後續可以針對於這一點再具體分析。重要的是第二點,是不是加了空格,mysql就認為是不同的查詢呢?實際上這個是要分情況而言的,要看這個空格加在哪。 如果空格是加在query之前,比如是在query的起始處加了空格,這樣是絲毫不影響query cache的結果的,mysql認為這是一條query,
Time of Update: 2017-01-19
下面摘錄一下Mysql 5.1中文手冊中關於utf8_unicode_ci與utf8_general_ci的說明: 當前,utf8_unicode_ci校對規則僅部分支援Unicode校對規則演算法。一些字元還是不能支援。並且,不能完全支援組合的記號。這主要影響越南和俄羅斯的一些少數民族語言,如:Udmurt 、Tatar、Bashkir和Mari。
Time of Update: 2017-01-19
mysql主從配置小記: 共有四台機器:A(10.1.10.28),B(10.1.10.29),C(10.1.10.30),D(10.1.10.31)。 配置後結果:A-C互為主從,B為A的slave,D為C的slave。 0)準備工作 在四台機器上面安裝好mysql後,建立用於同步的帳號。 添加賬戶: 複製代碼 代碼如下: INSERT INTO user (Host,User, Password,Select_priv,Insert_priv,Update_priv,Delete_priv,
Time of Update: 2017-01-19
mysql> create table jackbillow (ip int unsigned, name char(1)); Query OK, 0 rows affected (0.02 sec) mysql> insert into jackbillow values(inet_aton('192.168.1.200'), 'A'), (inet_aton('200.100.30.241'), 'B'); Query OK, 2 rows affected (0.00 sec)
Time of Update: 2017-01-19
一、關於空值 提示: 在MySQL中如果不為NOT NULL欄位賦值(等同於賦NULL值) 例如: 為一個NOT NULL的整型賦NULL值,結果是0,它並不會出錯, 為一個NOT NULL的CHAR型賦NULL值,結果是''(Null 字元串) DATATIME -> '0000-00-00 00:00:00 ' MySQL會自動將NULL值轉化為該欄位的預設值, 那怕是你在表定義時沒有明確地為該欄位設定預設值. 也就是說,MySQL中NOT NULL並不是一個約束條件了.
Time of Update: 2017-01-19
my.ini在MySQL的目錄,於是在同事機器上拷貝了一個my.ini拿來修改,並單獨放在一個地方作為備份。其內容如下: 複製代碼 代碼如下: #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] basedir=d:/MySQL5.0/ #bind-address=127.0.0.1 datadir=d:/MySQL5.0/data
Time of Update: 2017-01-19
預存程序是一種儲存在資料庫庫中的程式(就像正規語言裡的子程式一樣),準確的來說,MySql支援的“routine(常式)”有兩種:一是我們說的預存程序,二是在其它sql語句中可以傳回值的函數(使用起來和mysql預裝載的函數一樣,如pi())。 一個預存程序包括名字,參數列表,以及可以包括很多sql語句的sql語句集。在這裡對局部變數,異常處理,迴圈控制和if條件陳述式有新的文法定義。 下面是一個包括預存程序的執行個體聲明: 複製代碼 代碼如下: CREATE PROCEDURE
Time of Update: 2017-01-19
下面介紹幾種具體的實現方法.建立實驗環境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Query OK, 0 rows affected (0.08
Time of Update: 2017-01-19
對於大的資料庫,將資料裝載到一個沒有 FULLTEXT 索引的表中,然後再使用 ALTER TABLE (或 CREATE INDEX) 建立索引,這將是非常快的。將資料裝載到一個已經有 FULLTEXT 索引的表中,將是非常慢的。1.使用Mysql全文檢索索引fulltext的先決條件
Time of Update: 2017-01-19
因為utf8字元集是目前最適合於實現多種不同字元集之間的轉換的字元集,儘管你在命令列工具上可能無法正確查看資料庫中的內容,我依然強烈建議使用utf8作為預設字元集接下來是完整的一個例子: 1.建立資料庫表 mysql>CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci; #注意後面這句話 "COLLATE
Time of Update: 2017-01-19
MySQL從5.1.4版開始帶有一個壓力測試工具mysqlslap,通過類比多個並發用戶端訪問mysql來執行測試,使用起來非常的簡單。通過mysqlslap –help可以獲得可用的選項,這裡列一些主要的參數,更詳細的說明參考官方手冊。複製代碼 代碼如下:–auto-generate-sql, -a 自動產生測試表和資料 –auto-generate-sql-load-type=type 測試語句的類型。取值包括:read,key,write,update和mixed(預設)。
Time of Update: 2017-01-19
error 日誌當中的記錄: [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 從發了文章,只有人看,沒有人回複,看到這種情況只能自己解決問題了,自己動手豐衣足食嗎, 嗯。。。 你還別說,還真讓我解決了問題,人啊,都是逼出來的,....沒有辦法,這個問題對於高手可能是很簡單的問題 ,但是對我第一次摸mysql,確實怎麼也弄不懂的問題。 好了閑話不多說
Time of Update: 2017-01-19
最近由於需要大概研究了一下MYSQL的隨機抽取實現方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 有兩個方法可以達成以上效果. 1.建立一個表,裡面存著 -5 至 5 之間的數.再利用order by rand()得到隨機數. #建立指定範圍資料表 複製代碼 代碼如下: #auther: 小強(占卜師) #date: 2008-03-31 create table
Time of Update: 2017-01-19
會經常發現開發人員查一下沒用索引的語句或者沒有limit n的語句,這些沒語句會對資料庫造成很大的影響,例如一個幾千萬條記錄的大表要全部掃描,或者是不停的做filesort,對資料庫和伺服器造成io影響等。這是鏡像庫上面的情況。 而到了線上庫,除了出現沒有索引的語句,沒有用limit的語句,還多了一個情況,mysql串連數過多的問題。說到這裡,先來看看以前我們的監控做法 1. 部署zabbix等開源分布式監控系統,擷取每天的資料庫的io,cpu,串連數 2.