CentOS-6.4-minimal版中源碼安裝MySQL-5.5.38

來源:互聯網
上載者:User

標籤:centos   mysql   cmake   源碼   安裝   

/** * CentOS-6.4-minimal版中源碼安裝MySQL-5.5.38 * ---------------------------------------------------------------------------------------------------------------------- * 三種安裝方式 * 1)源碼安裝 * 2)二進位包安裝 * 3)rpm或yum安裝 * 本文示範的是源碼安裝,並且,從mysql-5.5開始,源碼安裝要通過cmake安裝,不能再像以前使用configure安裝了 * 我們在mysql-5.5.38.tar.gz的根目錄中,會看到一個名為"BUILD-CMAKE"的檔案,開啟可以看到下面這句話 * WHAT YOU NEED : CMake version 2.6 or later installed on your system. * ---------------------------------------------------------------------------------------------------------------------- * 安裝CMake(cross platform make) * cmake的特性是獨立於源碼編譯,編譯工作可以在另外一個目錄中而非源碼目錄中進行,好處是可以保證源碼目錄不受任何一次編譯的影響 * cmake安裝方法詳見官方文檔http://www.cmake.org/install/,我們到http://www.cmake.org/download/下載cmake-3.0.2.tar.gz * [[email protected] software]# cmake -version                  #我們會發現沒有輸出,說明本機並未安裝cmake * [[email protected] software]# yum list cmake --showduplicates #查看yum可安裝的軟體包版本,會看到只能安裝cmake-2.6.4-5.el6版本,故捨棄 * [[email protected] software]# yum -y install gcc gcc-c++      #安裝必要的編譯環境 * [[email protected] software]# yum -y install autoconf libtool #安裝必要的編譯環境 * [[email protected] software]# yum -y install ncurses-devel    #安裝必要的編譯環境(這是配置MySQL環境變數時要用的庫,這裡一起安裝了) * [[email protected] software]# tar zxvf cmake-3.0.2.tar.gz     #解壓cmake-3.0.2源碼 * [[email protected] software]# cd cmake-3.0.2                  #進入cmake-3.0.2源碼目錄 * [[email protected] cmake-3.0.2]# ./bootstrap                  #成功時,會提示CMake has bootstrapped.  Now run gmake. * [[email protected] cmake-3.0.2]# gmake                        #執行編譯 * [[email protected] cmake-3.0.2]# gmake install                #執行安裝 * [[email protected] cmake-3.0.2]# cd ~                         #退出cmake-3.0.2源碼目錄 * [[email protected] ~]# rm -rf /app/software/cmake-3.2.0*      #刪除cmake-3.0.2源碼 * [[email protected] ~]# cmake -version                         #驗證cmake-3.0.2安裝結果 * ---------------------------------------------------------------------------------------------------------------------- * @create Sep 28, 2014 5:47:18 PM * @author 玄玉<http://blog.csdn.net/jadyer> */

/** * ---------------------------------------------------------------------------------------------------------------------- * 安裝MySQL * [[email protected] ~]# groupadd -r mysql * [[email protected] ~]# useradd -r -s /sbin/nologin -g mysql mysql * [[email protected] ~]# mkdir -pv /app/mysql * [[email protected] ~]# mkdir -pv /app/mysql_data * [[email protected] ~]# chown -R mysql.mysql /app/mysql_data * [[email protected] ~]# tar zxvf /app/software/mysql-5.5.38.tar.gz * [[email protected] ~]# cd mysql-5.5.38/ * [[email protected] mysql-5.5.38]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/app/mysql_data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci * [[email protected] mysql-5.5.38]# make * [[email protected] mysql-5.5.38]# make install * ---------------------------------------------------------------------------------------------------------------------- * 配置MySQL * [[email protected] ~]# cd /app/mysql/support-files/ * [[email protected] support-files]# cp my-large.cnf /etc/my.conf       #拷貝設定檔 * [[email protected] support-files]# cp mysql.server /etc/init.d/mysqld #拷貝啟動指令碼 * [[email protected] support-files]# chmod -x /etc/init.d/mysqld        #賦予可執行許可權 * [[email protected] support-files]# chkconfig --add mysqld             #加入系統服務 * [[email protected] support-files]# chkconfig mysqld on                #開機啟動 * [[email protected] support-files]# vi /etc/profile.d/mysql.sh         #手動建立,新增內容為[export PATH=$PATH:/app/mysql/bin] * [[email protected] support-files]# source /etc/profile.d/mysql.sh     #執行一遍 * [[email protected] support-files]# echo $PATH                         #查看結果 * [[email protected] support-files]# cd /app/mysql                      #進入MySQL主目錄 * [[email protected] mysql]# bin/mysql_secure_installation              #會提示設定root密碼,是否移除匿名使用者,是否禁止root遠程登入等等 * ---------------------------------------------------------------------------------------------------------------------- * 修改設定檔/etc/my.cnf * 在[mysqld]下面增加或修改以下屬性 * user            = mysql * basedir         = /app/mysql * datadir         = /app/mysql_data * pid-file        = /app/mysql_data/mysqld.pid * ft_min_word_len = 4 * max_allowed_packet = 32M * character-set-server = urf8 * skip-name-resolve * ---------------------------------------------------------------------------------------------------------------------- * 初始化MySQL * [[email protected] ~]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/app/mysql_data --user=mysql * ---------------------------------------------------------------------------------------------------------------------- * 啟動MySQL * [[email protected] ~]# service mysqld start * [[email protected] ~]# netstat -tlanop | grep :3306 * [[email protected] ~]# mysql -uroot -phongyu * ---------------------------------------------------------------------------------------------------------------------- * @create Sep 29, 2014 11:04:27 AM * @author 玄玉<http://blog.csdn.net/jadyer> */

/** * ---------------------------------------------------------------------------------------------------------------------- * 注意事項 * 1)安裝必要的編譯環境時,也可以使用[um -y groupinstall "Development tools"]命令,但這會安裝大約101個庫,太粗暴,不建議 * 2)useradd -s /sbin/nologin *   該命令用於設定添加的使用者預設bash為nologin,即不允許此使用者通過shell登入系統 * 3)/app/mysql/     目錄為MySQL資料庫主程式目錄 *   /app/mysql_data/目錄為MySQL資料檔案目錄 * 4)如果在cmake配置環境的過程中出錯,比如提示ncurses-devel not found,當yum install後,想重新設定環境時,要先清除舊的對象檔案和緩衝資訊 *   [[email protected] mysql-5.5.38]# make clean *   [[email protected] mysql-5.5.38]# rm -f CMakeCache.txt *   [[email protected] mysql-5.5.38]# rm -rf /etc/my.cnf * 5)初始化MySQL時,要跟上--basedir和--datadir參數 *   否則會由於相對路徑的關係,而報告FATAL ERROR: Could not find ./bin/my_print_defaults * 6)啟動MySQL時提示[env: /etc/init.d/mysqld: 許可權不夠] *   此時執行[chmod -x /etc/init.d/mysqld]是不行的,需要執行[chmod a+wrx /etc/init.d/mysqld] *   然後執行[service mysqld start]即可啟動,啟動成功時會看到[Starting MySQL.... SUCCESS!] *   注意此操作全程為root使用者 * 7)安裝並啟動完MySQL後,預設不支援使用者通過非原生用戶端串連到MySQL,解決辦法如下 *   [[email protected] ~]# mysql -uroot -phongyu *   mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hongyu22' WITH GRANT OPTION; *   mysql> FLUSH PRIVILEGES; *   mysql> exit *   如此,所有使用者就都可以串連到MySQL了,不過注意串連時使用的密碼是hongyu22,而非hongyu *   其中,['root'@'%']裡面的root表示使用者名稱,%代表任意主機或IP地址,可以根據實際需要修改使用者名稱或主機IP *   並且,這裡授權是授權所有許可權,當然也可以指定部分許可權,詳見官方文檔http://dev.mysql.com/doc/refman/5.5/en/grant.html * 8)通過以上操作,若用戶端仍無法串連MySQL,可嘗試以下辦法 *   修改/etc/sysconfig/iptables檔案,增加一行[-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT] *   接著再執行[service iptables restart]命令重啟防火牆即可,不需要重啟Linux *   詳細說明見http://blog.csdn.net/jadyer/article/details/11324237 * ---------------------------------------------------------------------------------------------------------------------- * 編譯選項(其它參數見官方文檔) * -DCMAKE_INSTALL_PREFIX=/app/mysql           #資料庫安裝路徑(預設為/usr/local/mysql),該參數可在啟動服務時用--basedir參數指定 * -DINSTALL_PLUGINDIR=/usr/local/mysql/plugin #外掛程式檔案及配置路徑 * -DMYSQL_DATADIR=/app/mysql_data             #資料檔案路徑 * -DSYSCONFDIR=/etc                           #設定檔路徑 * -DWITH_INNOBASE_STORAGE_ENGINE=1            #安裝InnoDB儲存引擎 * -DWITH_MYISAM_STORAGE_ENGINE=1              #安裝MyISAM儲存引擎 * -DWITH_ARCHIVE_STORAGE_ENGINE=1             #安裝archive儲存引擎 * -DWITH_BLACKHOLE_STORAGE_ENGINE=1           #安裝blackhole儲存引擎 * -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1        #取消安裝blackhole儲存引擎 * -DWITH_READLINE=1                           #支援大量匯入mysql資料 * -DWITH_SSL=yes                              #支援SSL * -DWITH_SSL=system                           #mysql支援ssl會話,實現基於ssl的資料複製 * -DWITH_ZLIB=system                          #壓縮庫 * -DWITH_LIBWRAP=0                            #是否可以基於WRAP實現存取控制 * -DMYSQL_USER=mysql                          #MySQL使用者名稱 * -DMYSQL_TCP_PORT=3306                       #MySQL監聽連接埠 * -DMYSQL_UNIX_ADDR=/tmp/mysql.sock           #指定socket檔案存放位置 * -DENABLED_LOCAL_INFILE=1                    #是否啟用LOCAL_INFILE功能,即允許從本地匯入資料 * -DEXTRA_CHARSETS=all                        #安裝所有擴充字元集 * -DDEFAULT_CHARSET=utf8                      #預設編碼機制 * -DDEFAULT_COLLATION=utf8_general_ci         #預設語言的定序(校正字元) * -DWITH_DEBUG=0                              #DEBUG功能設定 * -DENABLE_PROFILING=1                        #是否啟用效能分析功能 * ---------------------------------------------------------------------------------------------------------------------- * @create Sep 29, 2014 11:05:06 AM * @author 玄玉<http://blog.csdn.net/jadyer> */

CentOS-6.4-minimal版中源碼安裝MySQL-5.5.38

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.