Time of Update: 2018-12-08
1.預存程序簡介 我們常用的操作資料庫語言SQL語句在執行的時候需要要先編譯,然後執行,而預存程序(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中,使用者通過指定預存程序的名字並給定參數(如果該預存程序帶有參數)來調用執行它。
Time of Update: 2018-12-08
進入 安裝目錄.../bin/mysql.exe cd 更換目錄 dir列出目前的目錄所有檔案 c:\vesa\...\a> 角括弧表示在c盤/的vasa/的.../的a 檔案夾裡面 cd空格.. 表示向上一級目錄 cd空格目錄名 表示進入指定目錄 cd空格ted健 表示順序查看目錄名 >mysql 空格 -u使用者名稱 -p密碼 (即通過使用者名稱 密碼連資料庫) show databases; 顯示所有資料庫 use 資料庫名; 表示進入資料庫 show tables;
Time of Update: 2018-12-08
一、MySQL 預存程序參數(in) MySQL 預存程序 “in” 參數:跟 C 語言的函數參數的值傳遞類似, MySQL 預存程序內部可能會修改此參數,但對 in 型別參數的修改,對調用者(caller)來說是不可見的(not visible)。 複製代碼 代碼如下:drop procedure if exists pr_param_in; create procedure pr_param_in ( in id int -- in 類型的 MySQL 預存程序參數 ) begin if (
Time of Update: 2018-12-08
1、許可權賦予 說明:mysql部署在伺服器A上,內網上主機B通過用戶端工具串連伺服器A以進行資料庫操作,需要伺服器A賦予主機B操作mysql的許可權 1.1 在伺服器A上進入mysql,假設在伺服器A上mysql的賬戶是root: 複製代碼 代碼如下:mysql - u root -p 然後斷行符號鍵入密碼! 1.2 賦予主機B操作資料庫的許可權 複製代碼 代碼如下:mysql> grant usage on *.* to username@192.168.0.1 identified
Time of Update: 2018-12-08
寫過PHP+MySQL的程式員都知道有時間差,UNIX時間戳記和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳記儲存、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳記那麼自如,所以有的時候需要互相轉換,下面給出互相轉換的幾種轉換方式。 一、在MySQL中完成 這種方式在MySQL查詢語句中轉換,優點是不佔用PHP解析器的解析時間,速度快,缺點是只能用在資料庫查詢中,有局限性。 1. UNIX時間戳記轉換為日期用函數: FROM_UNIXTIME()
Time of Update: 2018-12-08
解決方案之一:網站訪問出現如題錯誤,經過檢查my.cnf,發現innodb_buffer_pool_size = 2048M 設定過大,調整為innodb_buffer_pool_size = 1024M即可,網上也有該問題的其他解決方案,但都不能解決我的問題。Lost connection to MySQL server at 'reading initial communication packet' 錯誤解決
Time of Update: 2018-12-08
需要開啟一個慢查詢輸出的一個機關:log_slow_queries。可以在MySQL設定檔中(my.ini/my.cnf)中設定,也可以通過MySQL用戶端臨時設定。第二種方法的好處是,可以不用重啟MySQL服務,而使設定生效。那就來試試這個: 首先通過用戶端串連到Mysql伺服器,然後輸入下面的語句: SET GLOBAL log_slow_queries = ON; SET GLOBAL long_query_time = 3; 這樣MySQL就會把耗時>=3秒的SQL語句給記錄下來,
Time of Update: 2018-12-08
將ubk_vhost_list表中的欄位userid中的字元10005替換成10010 UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%' 說明: table_name —— 表的名字 field_name —— 欄位名 from_str —— 需要替換的字串 to_str —— 替換成的字串
Time of Update: 2018-12-08
一、演變: MySQL資料庫的varchar類型在5.0.3以下的版本中的最大長度限制為255,其資料範圍可以是0~255。 在MySQL5.0.3及以上的版本中,varchar資料類型的長度支援到了65535,也就是說可以存放65532個位元組的資料,起始位和結束位佔去了3個位元組,也就是說,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的資料可以在高版本中使用可變長的varchar來存放,這樣就能有效減少資料庫檔案的大小。
Time of Update: 2018-12-08
被分割的欄位一定是有限而且數量較少的,我們不可能在一個字串中儲存無限多個字元 這個欄位所屬的表與這個欄位關聯的表,一定是一對多的關係 比如下面這個表結構所代表的content與tag這兩個對象 複製代碼 代碼如下:mysql> SELECT * FROM content; +----+------+| id | tags | +----+------+| 1 | 1,2 | | 2 | 2,3 | +----+------+ 2 rows in set (0.01 sec)
Time of Update: 2018-12-08
MySQLdb預設查詢結果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網上找到簡單的修改方法,就是傳遞一個cursors.DictCursor就行。 預設程式: MySQLdb預設查詢結果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網上找到簡單的修改方法,就是傳遞一個cursors.DictCursor就行。預設程式: 複製代碼 代碼如下:import MySQLdb db = MySQLdb.connect(host =
Time of Update: 2018-12-08
獲得當前日期+時間(date + time)1.1 函數:now() 相關函數:current_timestamp(),localtime(),localtimestamp() 舉例說明: 2. 獲得當前日期(date) 函數:curdate() 相關函數:current_date(),current_date 舉例說明: 3. 獲得目前時間(time)函數:curtime() 相關函數:current_time(),current_time舉例說明 4. MySQL
Time of Update: 2018-12-08
下面是範例程式碼,在發生異常的時候會將異常資訊存入日誌表中,並繼續運行後面的語句. 如果您有更好的建議,望不吝賜教. 預存程序異常處理樣本 複製代碼 代碼如下:-- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be stored
Time of Update: 2018-12-08
安裝環境 centos 5.4 mysql 5.1.xx 採用rpm直接安裝 xtrabackup 1.2.22 採用rpm直接安裝 1. Master:/etc/my.cnf [mysqld] server-id = 1 log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/mysql character-set-server=utf8 init_connect='SET NAMES
Time of Update: 2018-12-08
通過以前對mysql的操作經驗,先將mysql的配置問題排除了,查看msyql是否運行正常,通過查看mysql data目錄裡面的*.err檔案(將副檔名改為.txt)記事本查看即可。如果過大不建議用記事本了,容易死掉,可以用editplus等工具簡單的分為下面幾個步驟來解決這個問題:1、mysql運行正常,也有可能是同步設定問題導致2、如果mysql運行正常,那就是php的一些sql語句導致問題發現,用root使用者進入mysql管理mysql -u root
Time of Update: 2018-12-08
當然,5.6的GUID功能的出現也帶來了multi-master的無限可能,不過這個已經是題外話了。 本文主要介紹一種非即時的適用於各版本MySQL的multi-master方法。 內容簡介: 最初的思路來源於一位國外DBA的blog : http://thenoyes.com/littlenoise/?p=117 基本原理就是通過SP記錄當前 master-log的name和pos記錄到表中,然後讀取下一個master記錄,執行stop slave / change master /
Time of Update: 2018-12-08
思維導圖 點擊圖片,可查看大圖。介紹 情況:如果你的表結構設計不良或你的索引設計不佳,那麼請你最佳化你的表結構設計和給予合適的索引,這樣你的查詢效能就能提高几個數量級。——資料越大,索引的價值越能體現出來。 我們要提高效能,需要考慮的因素:1、設計架構2、設計索引3、評估查詢效能今天要講的是表列的設計,暫不談索引設計。我會在下一章講索引設計。 選擇資料類型 選擇正確的資料類型,對於提高效能至關重要。下面給出幾種原則,有利於協助你選擇何種類型。
Time of Update: 2018-12-08
我採用的是MySQLdb操作的MYSQL資料庫。先來一個簡單的例子吧: 複製代碼 代碼如下:import MySQLdb try: conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306) cur=conn.cursor() cur.execute('select * from user') cur.close() conn.close() except
Time of Update: 2018-12-08
一、目的:將主伺服器中的MySql資料庫同步到從伺服器中,使得對主伺服器的操作可以即時更新到從伺服器,避免主伺服器因環境或者網路異常一時無法使用,達到備份效果。 二、環境: 主從伺服器作業系統、資料庫版本均相同,具體如下: 作業系統:Windows 2003 Server R2 MySql資料庫版本:5.0.51b 主伺服器(用A代替)IP地址:192.168.4.100 從伺服器(用B代替)IP地址:192.168.4.101 三、配置過程: 1、在A建立遠端存取備份賬戶。
Time of Update: 2018-12-08
DBI安裝:DBI詳細資料參考:http://dbi.perl.org/ 1.下載DBI包: wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz 2 解壓 tar xzf DBI-1.620.tar.gz 3 進入解壓包內, perl Makefile.PL 4 make test 5 make 6 make install (如果不是root使用者,要sudo一下) DBD安裝: 1.下載DBD