MySQL(4)——編譯安裝MySQL-5.5.33

來源:互聯網
上載者:User

標籤:mysql

MySQL的安裝方式:

(一)二進位格式安裝:

        RPM安裝包:

                OS Vendor,比如Red Hat官方提供的rpm包

                MySQL官方提供的rpm包

        通用二進位安裝包:

(二)源碼包編譯方式安裝:


MySQL的版本選擇:

    就目前為止,一般使用5.5的居多,它既具有新版本的許多特性(就像RHEL的2.6核心具有3.x核心的特性一樣),又兼具5.1版本的使用風格。

    但是目前官方在維護還有很多版本比如5.1、5.6、6.x


為毛需要編譯安裝?

    由於二進位格式的包是在比較通用的平台上進行編譯完成的,所以我們需要針對自己的硬體做一些最佳化,亦或者二進位包提供了我們一些不需要的功能,但是卻少了我們需要的功能,這時我們就需要手動編譯安裝了。


編譯器:

    在5.5(包括)以後預設使用cmake作為編譯器,cmake提供更加人性化的進度提示和更快的編譯速度。而且最重要特性之一是其獨立於源碼(out-of-source)的編譯功能,即編譯工作可以在另一個指定的目錄中而非源碼目錄中進行,這可以保證源碼目錄不受任何一次編譯的影響,因此在同一個源碼樹上可以進行多次不同的編譯,如針對於不同平台編譯。

    在CentOS6.4上面預設提供2.6.4版本的cmake,所以可以直接yum安裝cmake。而2.8版本則需要使用epel源安裝。如果需要使用cmake源碼進行安裝,那必須先使用make,過程如下:

# tar xf cmake-2.8.8.tar.gz# cd cmake-2.8.8# ./bootstrap    不是./configure了# make # make install


編譯安裝MySQL的方法:

    既然編譯器都改變了,那麼cmake的編譯命令必然與make有所不同:

# ./configure        等價於 # cmake .# ./configure --help 等價於 # cmake . -LH or ccmake .  查看協助資訊

    清理此前的編譯所產生的檔案:

# make clean && rm CMakeCake.txt


編譯安裝前需要安裝一些開發包,由於是測試環境,就都安裝了:

# yum groupinstall "Server Platform Development" "Development tools"  "Desktop Platform Development"  "Desktop Debugging and Performance Tools" "Compatibility libraries" -y


開始安裝:

# groupadd -r mysql# useradd -g mysql -r -d /mydata/data mysql        將/mydata/data的屬主、屬組都設為mysql# tar xf mysql-5.5.33.tar.gz # cd mysql-5.5.33# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql           -DMYSQL_DATADIR=/mydata/data           -DSYSCONFDIR=/etc   -DWITH_INNOBASE_STORAGE_ENGINE=1           -DWITH_ARCHIVE_STORAGE_ENGINE=1           -DWITH_BLACKHOLE_STORAGE_ENGINE=1   -DWITH_READLINE=1   -DWITH_SSL=system   -DWITH_ZLIB=system   -DWITH_LIBWRAP=0   -DMYSQL_UNIX_ADDR=/tmp/mysql.sock   -DDEFAULT_CHARSET=utf8           -DDEFAULT_COLLATION=utf8_general_ci# make # make install# chown -R .mysql /usr/local/mysql/        將/usr/local/mysql的屬組設為mysql# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf        注意:在生產環境下如果提示覆蓋,請先備份儲存# vim /etc/my.cnfdatadir = /mydata/datainnodb_file_per_table = 1# cd /usr/local/mysql/# scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql        初始化MySQL資料庫# cp support-files/mysql.server /etc/init.d/mysqld# chmod +x /etc/init.d/mysqld# chkconfig --add mysqld# chkconfig --list mysqld# service mysqld start# ss -antpl | grep :3306# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysqld.sh# source  /etc/profile.d/mysqld.sh

替換InnoDB引擎:

    InnoDB屬於Innobase公司的產品,後被oracle收購。雖然InnoDB引擎是免費的,但其熱備份工具時收費的,而且巨貴,所以Percona公司便做了一個InnoDB的升級版本XtraDB,功能更加強大,而且備份工具是免費的。為此,oracle經常升級MySQL的版本號碼,造成percona是舊版本的假象。

    我們可以下載percona的資料,然後將其中的XtraDB引擎目錄拿出來並命名為innobase,然後覆蓋掉/usr/src/mysql-5.5.33/storage/innobase目錄,然後按照正常的方法按照MySQL即可。


安裝後的工作:

1、設定root密碼,刪除匿名使用者

mysql> use mysqlmysql> select user,host,password from user;mysql> UPDATE user  SET password=PASSWORD(‘new_passwd‘) WHERE user=‘root‘;        第一種方式mysql> SET PASSWORD FOR [email protected]=PASSWORD(‘new_passwd2‘);        第二種方式mysql> drop user ‘‘@‘localhost‘;    mysql> drop user ‘‘@‘HOSTNAME‘;  mysql> drop user ‘root‘@‘::1‘;    禁止root使用IPv6登入


忘記root密碼後的操作:

# vim /etc/init.d/mysqld    $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &        尋找到此行,然後修改為如下格式→儲存→重啟→修改root密碼→還原此檔案→重啟MySQL    $bindir/mysqld_safe --datadir="$datadir" --skip-grant --skip-networking --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &        --skip-grant        跳過授權表        --skip-networking   禁止網路登入


本文出自 “Go right on” 部落格,請務必保留此出處http://caduke.blog.51cto.com/3365689/1599124

MySQL(4)——編譯安裝MySQL-5.5.33

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.