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----------