標籤:
參考資料:http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html
http://www.cnblogs.com/xiongpq/p/3384681.html
一、安裝cmake(mysql5.5.0之後的版本用cmake安裝)
下載:
cd /usr/local/src/wget http://www.cmake.org/files/v3.3/cmake-3.3.0-rc4.tar.gz
安裝:
tar -zxvf cmake-3.3.0-rc4.tar.gzcd cmake-3.3.0-rc4./configuremakemake install
二、安裝mysql-5.5.40
(1)建立mysql安裝目錄及資料存放目錄
mkdir /usr/local/mysqlmkdir /usr/local/mysql/data
(2)建立mysql使用者及使用者組
groupadd mysqluseradd -r -g mysql mysql
(3)安裝mysql
因為公司linux伺服器上正好有一個mysql-5.5.40版本的資料庫,所以我就直接使用了。不過各位需要下載的必須選擇版本為5.5.0以上版本
tar -zxvf mysql-5.5.40.tar.gzcd mysql-5.5.40cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
make
make install
.cmake中參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄(預設安裝路徑:/usr/local/mysql)
-DINSTALL_DATADIR=/usr/local/mysql/data //資料庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字元
-DDEFAULT_COLLATION=utf8_general_ci //校正字元
-DEXTRA_CHARSETS=all //安裝所有擴充字元集
-DENABLED_LOCAL_INFILE=1 //允許從本地匯入資料
PS. 注意事項:如果重新編譯時間,需要清除舊的對象檔案和緩衝資訊
#make clean
#find / -name CMakeCache.txt 通過該命令尋找到所有的CMakeCache.txt檔案,再使用一下命令刪除之
#rm -f ..../CMakeCache.txt
#rm -rf /etc/my.cnf
(4) 配置(重點)
#設定目錄許可權
cd /usr/local/mysqlchown -R root:mysql . chown -R mysql:mysql data
#將mysql的啟動服務添加到系統服務中
cp support-files/my-medium.cnf /etc/mysql.cnf
#增加mysql資料庫的使用者
scripts/mysql_install_db --user=mysql
#設定環境變數
vi /root/.bash_profile
#在環境變數PATH=$PATH:$HOME/bin後邊追加參數,追加後如下:
#PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#讓配置立即生效
source /root/.bash_profile
(5)啟動mysql
1)手動啟動(推薦)
cd /usr/local/mysql
#啟動MySQL,這裡啟動後不會自動停止退出命令,但我們可以按Enter鍵退出
./bin/mysqld_safe --user=mysql &
#這就算啟動了,這是我們可以在命令列輸入mysql試試
mysql #如果進入資料庫則成功
#關閉MySQL服務
mysqladmin -u root -p shutdown #這裡需要輸入MySQL的root使用者密碼,因為還沒有設定,所以直接斷行符號即可
PS:錯誤提示1,ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
解決:這是沒有啟動MySQL服務,所以必須啟動服務後才能進入MySQL中
2)將mysql增加到系統服務中
cd /usr/local/mysql
#將mysql的啟動服務增加到系統服務中去cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
PS:主要是將mysql.server拷貝到/etc/init.d中,命名為mysql。在有的系統中,mysql.server在/usr /local/mysql/share/mysql/mysql.server中,而本系統中,mysql.server在/usr/local /mysql/support-files/mysql.server中
#啟動服務service mysql start
這時你就會看到“Starting MySQL.. SUCCESS!”的字樣,說明mysql已經啟動了。
(6)配置使用者
MySQL啟動成功後,root預設沒有密碼,我們需要設定root密碼。
設定之前,我們需要先設定PATH,使其直接調用mysql
vi /etc/profile#按shift+g鍵跳到檔案最後,在末尾添加PATH=/usr/local/mysql/bin:$PATHexport PATH#:wq退出,讓配置立即生效source /etc/profile
現在進入mysql環境
#使用root使用者登陸mysql -uroot #給root使用者佈建密碼mysql>SET PASSWORD = PASSWORD(‘123456‘);
若要設定root使用者可以遠端存取,執行
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘172.16.%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
##紅色的password為遠端存取時,root使用者的密碼,可以和本地不同。
(7)防火牆配置
防火牆的3306連接埠預設沒有開啟,若要遠端存取,需要開啟這個連接埠
vi /etc/sysconfig/iptables#找到“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”這行,然後在下面添加一行:-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT,:wq儲存退出#重啟,重新整理防火牆配置service iptables restart
至此,一切配置完畢。
我們可以進入mysql了,只不過這是需要輸入密碼了,命令如下:
mysql -uroot -p
#然後輸入密碼即刻進入
三、Linux下mysql的完整安裝