Time of Update: 2018-12-03
MySQL 包括一個伺服器處理序管理資料庫,以及一系列訪問資料庫和建立應用的工具:mysql : 在 MySQL 中執行 SQL 查詢,也可以執行在檔案中儲存的SQL命令;mysqlaccess : 系統管理使用者;mysqladmin : 管理資料庫伺服器,包括資料庫的建立和移除;mysqld : 實際的 MySQL 伺服器處理序;mysqldump : 將資料庫或表的定義和內容轉儲到檔案;mysqlhotcopy :
Time of Update: 2018-12-03
安裝MySQL sudo apt-get install mysql-server 這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。 配置MySQL 注意,在Ubuntu下MySQL預設是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變/etc/mysql/my.cnf設定檔了!下面我們一步步地來:預設的MySQL安裝之後根使用者是沒有密碼的,所以首先用根使用者進入: $mysql -u root 在這裡之所以用-u
Time of Update: 2018-12-03
可以用在預存程序的SQL語句主要有以下類型:1、 無返回結果語句,如:INSERT,UPDATE,DROP, DELETE等2、 select語句返回單行變數並可傳給本地變數(select ..into) 3、 返回多行結果集的select語句,並可使用遊標迴圈處理注意,預存程序返回的多行結果集,可以被用戶端程式(如php)所接收,但要在一個預存程序中接收另一個預存程序的結果集是不可能的,一般解決辦法是存入暫存資料表供其它過程共用4、
Time of Update: 2018-12-03
目前mysql的擴充解決方案主要有基於對象的memcached,高效能嵌入式資料庫編程庫berkeley db,功能強大的全文檢索搜尋引擎lucene。一、合理利用第三方cache解決方案memcachedmemcached是基於記憶體的軟體。首先可以作為提升系統效能的工具。如果將memcached作為應用系統的cache服務,那麼資料庫不需要做任何改動。其次可以將memcached與mysql整合為資料服務層。有兩種方式。第一種是將memcached的記憶體容量作為mysql資料庫的二級緩衝,
Time of Update: 2018-12-03
一、建立一個表:CREATE TABLE `flower` ( `id` int(11) NOT NULL AUTO_INCREMENT, `color` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1插入如下資料:1 blue2 red3 blue4 red5
Time of Update: 2018-12-03
用MySQL 中的 SQL 函數 LAST_INSERT_ID()LAST_INSERT_ID():1. 產生的ID 每次串連後儲存在伺服器中。這意味著函數向一個給定用戶端返回的值是該用戶端產生對影響AUTO_INCREMENT列的最新語句第一個 AUTO_INCREMENT值的。這個值不能被其它用戶端影響,即使它們產生它們自己的 AUTO_INCREMENT值。這個行為保證了你能夠找回自己的 ID
Time of Update: 2018-12-03
MyISAM:第一,最佳化參數這個表引擎只儲存索引的緩衝,而不儲存資料的緩衝。可以通過設定KEY_BUFFER_SIZE設定緩衝大小,通過KEY_BUFER_BLOCK_SIZE設定cache block的size。KEY_CACHE_DIVISION_LIMIT是設定LRU鏈表中hot area和warm area的分界值,為1-100之間。系統預設為100,也就是只有warm
Time of Update: 2018-12-03
通過Replication可以將一個mysql的instance資料完整且同時的複製到其他多個mysql資料庫中,正常情況下這種複製的延遲並不長。各台伺服器上都有相同的資料只會,應用訪問就不再只是一台mysql了,而是訪問整個mysql叢集中的任何一台都可以。Replication的實現機制1、Replication線程mysql的Replication是一個非同步複製過程。是從master到slave的過程,此過程需要三個線程來完成。其中兩個線程(sql線程和IO線程)在slave端,另外一個
Time of Update: 2018-12-03
在系統架設過程中,可能會遇到這樣的需求:統計系統的使用次數。可以放在一個資料表中做統計,比如create table counter(counter int primary key)每次系統使用者登陸的時候,counter+1,這看似是沒什麼問題。但是,當使用者量增大的是時候,多使用者同時訪問資料表,就會使這個表成為一個類似mutex的資源。使用者只能串列訪問【因為mysql在訪問資料庫的時候鎖住了該行資料】。解決辦法如下:create table counter2(id int
Time of Update: 2018-12-03
在使用mysql資料庫的時候,如果經常匯入匯入。使用mysql內部命令要想把整個資料庫匯出,時常會應為某個表的失敗,而導致整個匯入,匯出作業失敗。於是我想分而治之。利用php寫了一個指令碼。每次匯入匯出,成功的機會高多了。使用如下:Usage: php dbio.php im/import/ex/export/tr/truncate db://user:password@host/database path [-n]im/import is import db from sql
Time of Update: 2018-12-03
相同顯示TIMESTAMP列的顯示格式與DATETIME列相同。換句話說,顯示寬度固定在19字元,並且格式為YYYY-MM-DDHH:MM:SS。不同範圍 datetime 以'YYYY-MM-DDHH:MM:SS'格式檢索和顯示DATETIME值。支援的範圍為'1000-01-0100:00:00'到'9999-12-31 23:59:59' TIMESTAMP值不能早於1970或晚於2037儲存 TIMESTAMP 4個位元組儲存(Time stamp value
Time of Update: 2018-12-03
最近Ubuntu中的Mysql出了點問題,網上找了N久也沒找到答案,於是華麗的將它卸載重裝。當然,如標題所寫,這裡還有涉及到編碼問題。1、卸載當初我安裝的時候是用:sudo apt-get install mysql-server mysql-client於是相應的卸載:sudo aptitude purge mysql-server
Time of Update: 2018-12-03
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database
Time of Update: 2018-12-03
一般MYSQL最基本的分頁方式:select * from content order by id desc limit 0, 10在中小資料量的情況下,這樣的SQL足夠用了,唯一需要注意的問題就是確保使用了索引。隨著資料量的增加,頁數會越來越多,查看後幾頁的SQL就可能類似:select * from content order by id desc limit 10000, 10一言以蔽之,就是越往後分頁,LIMIT語句的位移量就會越大,速度也會明顯變慢。此時,我們可以通過2種方式:一,子查
Time of Update: 2018-12-03
預達到的效果:一台主mysql伺服器上的資料改變了,從屬伺服器上的資料也自動做相同的改變原理:從屬伺服器在主伺服器上註冊一個賬戶,通過這個賬戶,把對主伺服器的增刪改操作而產生的二進位記錄檔發送給從屬伺服器, 從屬伺服器根據這個二進位日誌來進行增刪改,達到同步資料的效果。 小細節:從屬伺服器會指定兩個線程,一個來請求和接收發送來的二進位日誌;一個用來將二進位日誌轉換成中繼日誌 (先不管什麼是中繼日誌,就是日誌的一種,專門給從屬伺服器用的), 然後根據中繼日誌轉換成相應的sq
Time of Update: 2018-12-03
1、從http://dev.mysql.com/downloads/mysql/下載mysql-5.1.52-osx10.6-x86.dmg這個安裝包2、雙擊這個安裝包會出現四個檔案其中一個是說明文檔3、首先點擊安裝mysql-5.1.52-osx10.6-x86.pkg,這是MySQL的主安裝包。一般情況下,安裝檔案會自動把MySQL安裝到/usr/local下的mysql。比如點擊運行“mysql-5.1.52-osx10.6-x86.pkg”會把MySQ安裝到“/usr/local/mys
Time of Update: 2018-12-03
1、查看mysql command line client預設執行的一些參數。方法:開始->所有程式->MySQL->MySQL Server5.5->MySQL5.5 command line client,右鍵屬性。2、複製出來如下:"G:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" "--defaults-file=G:\Program Files\MySQL\MySQL Server
Time of Update: 2018-12-03
在mysql主從同步的過程中,可能會因為各種原因出現主庫與從庫不同步的情況,網上雖然有一些解決辦法,但是有時很難徹底解決,重設主從伺服器也許不是最快的辦法,但卻是最安全有效。 下面將自己重設主從同步的步驟總結一下,以備不時之需。 master與slave均使用:centos6.0+mysql 5.1.61
Time of Update: 2018-12-03
master端:show master status;—查看狀態:show processlist; –查看slave下mysql進程資訊reset master; #慎用,將清空日誌及同步positionslave端:CHANGE MASTER TO MASTER_LOG_FILE=’master.000019′;show slave status;show slave logs;show processlist;reset slave;
Time of Update: 2018-12-03
MySQL有時候忘記了root密碼是一件傷感的事。這裡提供Windows 和 Linux 下的密碼重設方法。windows: 1.以系統管理員身份登陸系統。 2.開啟cmd-----net start 查看mysql是否啟動。啟動的話就停止net stop mysql. 3.我的mysql安裝在d:\usr\local\mysql4\bin下。 4.跳過許可權檢查啟動mysql. d:\usr\local\mysql\bin\mysqld-nt --skip-grant-tables