Time of Update: 2017-01-19
啟動失敗重啟伺服器後-->重啟應用服務(Confluence)-->報錯,資料庫連接失敗(mysql設定了開機自啟動)-->查看mysql資料庫狀態:[root@fisheye ~]# ps -ef | grep mysqlroot 25555 21974 0 11:28 pts/0 00:00:00 grep mysql啟動mysql伺服器[root@fisheye data]# service mysql startMySQL server PID file
Time of Update: 2017-01-19
MySQL發展到今天,InnoDB引擎已經作為絕對的主力,除了像大資料量分析等比較特殊領域需求外,它適用於眾多情境。然而,仍有不少開發人員還在“執迷不悟”的使用MyISAM引擎,覺得對InnoDB無法把握好,還是MyISAM簡單省事,還能支援快速COUNT(*)。本文是由於最近幾天幫忙處理discuz論壇有感而發,希望能對廣大開發人員有協助。1.
Time of Update: 2017-01-19
過了這麼久,discuz論壇的問題還是困擾著很多網友,其實從各論壇裡看到的問題總結出來,很關鍵的一點都是因為沒有將資料表引擎轉成InnoDB導致的,discuz在並發稍微高一點的環境下就表現的非常糟糕,產生大量的鎖等待,這時候如果把資料表引擎改成InnoDB的話,我相信會好很多。這次就寫個掃盲貼吧。1. 啟用innodb引擎,並配置相關參數#skip-innodbinnodb_additional_mem_pool_size = 16M
Time of Update: 2017-01-19
我們來瞭解一下MySQL的基本特性:1.內部構件和可移植性 使用C和C++編寫 用眾多不同的編譯器進行了測試 能夠工作在眾多不同的平台上。請參見2.1.1 “MySQL支援的作業系統”。 使用GNU Automake、Autoconf和Libtool進行移植。 提供了用於C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。 採用核心線程的完全多線程 如果有多個CPU,它能方便地使用這些CPU。 提供了事務性和非事務性儲存引擎。
Time of Update: 2017-01-19
MySQL日誌主要包含:錯誤記錄檔、查詢日誌、慢查詢日誌、交易記錄、二進位日誌;日誌是mysql資料庫的重要組成部分。記錄檔中記錄著mysql資料庫運行期間發生的變化;也就是說用來記錄mysql資料庫的用戶端串連狀況、SQL語句的執行情況和錯誤資訊等。當資料庫遭到意外的損壞時,可以通過日誌查看檔案出錯的原因,並且可以通過記錄檔進行資料恢複。錯誤記錄檔在mysql資料庫中,錯誤記錄檔功能是預設開啟的。並且,錯誤記錄檔無法被禁止。預設情況下,錯誤記錄檔儲存在mysql資料庫的資料檔案中。錯誤記錄檔檔
Time of Update: 2017-01-19
聯合索引又叫複合索引。對於複合索引:Mysql從左至右的使用索引中的欄位,一個查詢可以只使用索引中的一部份,但只能是最左側部分。例如索引是key index (a,b,c). 可以支援a | a,b| a,b,c 3種組合進行尋找,但不支援 b,c進行尋找 .當最左側欄位是常量引用時,索引就十分有效。兩個或更多個列上的索引被稱作複合索引。利用索引中的附加列,您可以縮小搜尋的範圍,但使用一個具有兩列的索引
Time of Update: 2017-01-19
主鍵索引主鍵索引,簡稱主鍵,原文是PRIMARY KEY,由一個或多個列組成,用於唯一性標識資料表中的某一條記錄。一個表可以沒有主鍵,但最多隻能有一個主鍵,並且主索引值不能包含NULL。在MySQL中,InnoDB資料表的主鍵設計我們通常遵循幾個原則:採用一個沒有業務用途的自增屬性列作為主鍵;主鍵欄位值總是不更新,只有新增或者刪除兩種操作;不選擇會動態更新的類型,比如目前時間戳等。這麼做的好處有幾點:新增資料時,由於主索引值是順序增長的,innodb
Time of Update: 2017-01-19
>>>database<<<1. 修改 protected/config/main.php去掉mysql資料庫連接方式的注釋,並且修改使用者名稱,密碼以及串連的資料庫。2. 建立 protected/tests/unit/DbTest.php內容如下:<?phpclass DbTest extends CTestCase{ public function testConnection() {
Time of Update: 2017-01-19
經常需要有一些定時任務在MySQL表上執行,例如統計、遷移、刪除無用資料等。之前的作法是利用Linux cron定時運行指令碼,但是發現這樣的額外依賴有時並不方便,例如單機多執行個體部署時,就需要分別手動分別配置不同的cron任務,需要額外配置相應的使用者和許可權;新環境部署時容易遺漏cron任務等。MySQL提供了Event Scheduler,與Linux下的crontab類似,可以根據時間調度來運行任務,運行一次或多次。完整的Event Schduler建立語句如下:CREATE
Time of Update: 2017-01-19
普通關閉我的mysql是自己下載的tar包,自己設定安裝目錄來安裝的。停止mysql服務,說來簡單,但不知道的話,還真是撓頭。在這和mysql入門的同學們共用:)正確方法是,進入mysql的bin目錄下,然後執行./mysqladmin -uroot -p shutdown然後輸入你的密碼就可以了。ps:當然,如果你的root沒有密碼,就不需要-p選項嘍。ps:有人問啟動的方法,正確的啟動方法是:進入mysql的bin目錄,然後nohup ./mysqld_safe
Time of Update: 2017-01-19
先給大家介紹windows下mysql忘記密碼的解決方案。 Windows下的實際操作如下 1.關閉正在啟動並執行MySQL。 2.開啟DOS視窗,轉到mysql\bin目錄。 3.輸入mysqld --skip-grant-tables斷行符號。如果沒有出現提示資訊,那就對了。 4.再開一個DOS視窗(因為剛才那個DOS視窗已經不能動了),轉到mysql\bin目錄。 5.輸入mysql斷行符號,如果成功,將出現MySQL提示符 > 6. 串連許可權資料庫>use
Time of Update: 2017-01-19
最近兩天做項目總是被亂碼問題困擾著,這不剛把mysql中文亂碼問題解決了,下面小編把我的解決方案分享給大家,供大家參考,也方便以後自己查閱。首先:用show variables like “%colla%”;show varables like “%char%”;這兩條命令查看資料庫與服務端的字元集設定如果查看出來都是gbk2312,或
Time of Update: 2017-01-19
下面是我們經常會用到且非常有用的MySQL命令。下面你看到#表示在Unix命令列下執行命令,看到mysql>表示當前已經登入MySQL伺服器,是在mysql用戶端執行mysql命令。登入MySQL,如果串連遠端資料庫,需要用-h指定hostname。登入MySQL,如果串連遠端資料庫,需要用-h指定hostname。# [mysql dir]/bin/mysql -h hostname -u root -p建立一個資料庫。mysql> create database
Time of Update: 2017-01-19
show profile是由Jeremy Cole捐獻給MySQL社區版本的。預設的是關閉的,但是會話層級可以開啟這個功能。開啟它可以讓MySQL收集在執行語句的時候所使用的資源。為了統計報表,把profiling設為1 mysql> SET profiling = 1; 之後在運行一個查詢mysql> SELECT COUNT(DISTINCT actor.first_name) AS cnt_name, COUNT(*) AS cnt-> FROM
Time of Update: 2017-01-19
一、基本用法1. 增加列alter table tbl_name add col_name type例如, 給pet的表增加一列 weight,mysql>alter table pet add weight int;2. 刪除列alter table tbl_name drop col_name例如, 刪除pet表中的weight這一列mysql>alter table pet drop weight;3.
Time of Update: 2017-01-19
插入資料MySQL 表中使用 INSERT INTO SQL語句來插入資料。你可以通過 mysql> 命令提示視窗中向資料表中插入資料,或者通過PHP指令碼來插入資料。文法以下為向MySQL資料表插入資料通用的 INSERT INTO SQL文法:INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );如果資料是字元型,必須使用單引號或者雙引號,如:"
Time of Update: 2017-01-19
建立資料表建立MySQL資料表需要以下資訊: 表名 表欄位名 定義每個表欄位文法以下為建立MySQL資料表的SQL通用文法:CREATE TABLE table_name (column_name column_type);以下例子中我們將在 TUTORIALS 資料庫中建立資料表tutorials_tbl:tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT
Time of Update: 2017-01-19
在你串連到 MySQL 資料庫後,可能有多個可以操作的資料庫,所以你需要選擇你要操作的資料庫。從命令提示視窗中選擇MySQL資料庫在 mysql> 提示視窗中可以很簡單的選擇特定的資料庫。你可以使用SQL命令來選擇指定的資料庫。執行個體以下執行個體選取了資料庫 TUTORIALS:[root@host]# mysql -u root -pEnter password:******mysql> use TUTORIALS;Database
Time of Update: 2017-01-19
使用 mysqladmin 建立資料庫使用普通使用者,你可能需要特定的許可權來建立或者刪除 MySQL 資料庫。所以我們這邊使用root使用者登入,root使用者擁有最高許可權,可以使用 mysql mysqladmin 命令來建立資料庫。執行個體以下命令簡單的示範了建立資料庫的過程,資料名為 TUTORIALS:[root@host]# mysqladmin -u root -p create TUTORIALSEnter password:******以上命令執行成功後會建立 MySQL
Time of Update: 2017-01-19
使用mysql二進位方式啟動串連您可以使用MySQL二進位方式進入到mysql命令提示字元下來串連MySQL資料庫。執行個體以下是從命令列中串連mysql伺服器的簡單一實例:[root@host]# mysql -u root -pEnter password:******在登入成功後會出現 mysql> 命令提示視窗,你可以在上面執行任何 SQL 陳述式。以上命令執行後,登入成功輸出結果如下:Welcome to the MySQL monitor. Commands end with