mysql安裝方式小結

myownstars發表於2014-10-22

Linux下支援多種安裝方法,最常用的為二進位制安裝和原始碼安裝,除此之外還有yum/APT/Debian package/native software repositories

特點
二進位制安裝: 操作容易,分為RPM和tar兩種方式;oracle官方已最佳化,內建了最佳配置;選擇多,如mysqld和mysqld-debug;
原始碼安裝:可手工指定安裝目錄;使用標準二進位制包沒有的功能,如-DWITH_LIBWRAP(tcp wrap);去除不用的字符集;獲取最新的bugfix;包含更多的測試和例子;

目錄分層
原始碼安裝:預設位於/usr/local/mysql(與binary一樣),可透過-prefix指定;
tar安裝:通常解壓於/usr/local/mysql;
RPM安裝:分散於多個目錄,/usr/bin 指令碼和客戶端程式 ; /var/lib/mysql 資料庫和日誌; /usr/lib/mysql 庫函式


pre-安裝
下載後首先要驗證,方法有MD5 checksums和內建的RPM驗證(rpm --checksig);


1  二進位制安裝
分為RPM和tar兩種,前者給出startup指令碼並自動放入/etc/rc.d/init.d,兩者的目錄分層也不同;

Generic binary即tar安裝:
1 建立mysql使用者(組)
2 解壓安裝檔案 tar zxvf(通常位於/usr/local)
3 執行scripts/mysql_install_db –user=mysql
4 將data目錄賦給mysql
5 bin/mysqld_safe –user=mysql &

RPM安裝:採用rpm安裝MySQL-server & MySQL-client;

2 原始碼安裝
前提:安裝包mysql-VERSION.tar.gz;GNU gunzip和tar;ANSI C++;GNU make;Cmake;
步驟:
A 建立mysql使用者和使用者組
B 解壓安裝包 gunzip < mysql-VERSION.tar.gz | tar –xvf – 或者直接tar zxvf
C ./configure –prefix=/usr/local/mysql & make 配置並編譯
D make install
E cp support-files/my-medium/cnf  /etc/my.cnf複製cnf檔案
F mysql_install_db –user=mysql 建立授權表,如果是root使用者登入必須指定—user
G bin目錄改為root,/var資料目錄改為mysql  
H mysqld_safe –user=mysql &
注:configure的prefix指定安裝目錄,預設為/usr/local可手工改動;
      要僅編譯客戶端,請使用./configure --without-server.
      with-charset/collation 指定字符集;你在建立了任何資料庫表之後改變字符集,你將必須對每個表執行myisamchk -r -q --set-character-set=charset,否則索引可能不正確地排序
      with-debug 配置除錯程式碼,包含安全的記憶體分配器;mysqladmin debug enable-thread-safe-client

CMake 是一個比 automake 更加容易使用的工具,能夠使程式設計師從複雜的編譯連線過程中解脫出來;
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

Post-安裝
1 初始化data目錄 & 建立grant表
2 為grant裡的user賦密碼
分別由mysql_install_db和mysql_secure_installation完成
mysql_install_db的用途
對於generic binary和source 安裝,需要手工執行(RPM會自動執行);
建立data目錄;
建立mysql/test資料庫,初始化grant表;
初始化innodb系統表空間;
重要選項:
 -basedir/datadir:指定base/data目錄
 -skip-name-resolve:在grant表中使用IP而非hostname
Mysql_secure_installation
無須任何引數; 設定root使用者密碼;刪除匿名使用者;刪除test資料庫;
注:如何修改root密碼?  1 set password for 2 update user 3 mysqladmin –u root password “newpwd”



編譯連結和速度
一個好的編譯器和選項,可使應用加速10-30%;
標準的mysql binary支援所有字符集,自己編譯時只指定所需的—with-charset;
對比:
1 pgcc & -O6比gcc 2.95.2快11%
2 動態連結比-static慢13%
3 strip mysqld剝離mysqld binary,快4%
4 本地客戶端使用TCP比unix socket慢7.5%
5 使用TCP遠端比本地客戶端慢8-11%
6 SSL加密會慢55%
7 with-debug=full會慢20%,with-debug慢15%,full & skip-safemalloc(執行時禁用記憶體檢查)接近前者



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-1307431/,如需轉載,請註明出處,否則將追究法律責任。

相關文章