Linux之MySQL源碼編譯安裝
系統平台:Ubuntu12.04
編譯環境:gcc-4.6.3
准備工作: www.2cto.com
mysql-5.5.28.tar.gz
cmake-2.8.10.2.tar.gz
ncurses-5.9.tar.gz
由於mysql5.5以上的版本改用cmake編譯了,所以要裝cmake編譯!
此方法適合所有有mysql編譯環境的Linux. www.2cto.com
---------------------------------
1、安裝cmake-2.8.10.2.tar.gz
以root用戶進入shell
#tar -zxvf cmake-2.8.10.2.tar.gz
#cd cmake-2.8.10.2
#./configure
#make (無法make,檢測gcc編譯環境)
#make install
---------------------------------
2、安裝ncurses-5.9.tar.gz
#tar -zxvf ncurses-5.9.tar.gz
#cd ncurses-5.9
#mkdir /usr/local/ncurses-5.9/
#./configure --prefix=/usr/local/ncurses-5.9/
#make
#make install
--------------------
3、安裝 mysql-5.5.28.tar.gz
#tar -zxvf mysql-5.5.28.tar.gz
#cd mysql-5.5.28
#mkdir -p /usr/local/mysql (創建數據庫安裝目錄)
#mkdir -p /usr/local/mysql/data (存放數據庫)
#groupadd mysql
#useradd -r -g mysql mysql
開始編譯mysql源碼
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DCURSES_INCLUDE_PATH=/usr/local/ncurses-5.9/include/ -DCURSES_LIBRARY=/usr/local/ncurses-5.9/lib/libncurses.a
#make
#make install (這部完了mysql就安裝好了)
-----------------------
4.配置MySQL
設置目錄權限
#cd /usr/local/mysql
#chown -R root:mysql . (把當前目錄中所有文件的所有者所有者設為root, 所屬組為mysql)
#chown -R mysql:mysql data
#cp support-files/my-medium.cnf /etc/my.cnf (將mysql的啟動服務添加到系統服務中)
創建系統數據庫的表
#cd /usr/local/mysql
#scripts/mysql_install_db --user=mysql
手動啟動mysql
#cd /usr/local/mysql
#./bin/mysqld_safe --user=mysql &
# mysqladmin -u root -p shutdown (停止MySQL服務,這裡MySQL的root用戶還沒有配置密碼,所以為空值。需要輸入密碼時,直接點回車鍵即可。)
另一種簡單的啟動mysql的方法(mysql已經被添加到系統服務中)
#cp support-files/mysql.server /etc/init.d/mysql (將mysql的啟動服務添加到系統服務中)
# service mysql.server start 啟動mysql服務
# service mysql.server stop 關閉mysql服務
# service mysql.server restart 重啟mysql服務
把mysql加入環境變量使在shell環境下敲入mysql就進去mysql
#vi /etc/profile
在最後加入
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
#wq 保存
#source /etc/profile 刷新配置文件
讓後敲入mysql就可以看到mysql控制台操作界面了
修改MySQL的root用戶的密碼以及打開遠程連接
# mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; (為root添加遠程連接的能力。)
mysql>update user set Password = password('root') where User='root'; (設置root用戶密碼為root,可自定義)
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登錄:mysql -u root -proot
若還不能進行遠程連接,則關閉防火牆
# /etc/rc.d/init.d/iptables stop
----------END----------