開源服務專題之--------mysql的編譯安裝

 

爲何選擇MySQL

 

  1:mysql性能卓越,服務穩定,不多出現異常宕機php

 

 2:mysql開源免費,無版權制約,自主性及使用成本低mysql

 

 3:產品耦合度,mysql支持多種操做系統,支持多開發語言,特別是phpnginx

 

 4:技術積累,龐大的活躍的社區,算法

 

 5:軟件體積小,安裝簡單,易於維護sql

 

MySQL數據庫分類與版本升級

 

  MySQL官網http://www.mysql.com/,MySQL版本採用雙受權政策,和大多數開源產品路線同樣,分爲社區版和商業版,而且這兩個版本又分別分紅四個版本依次發佈,Alpha版、Beta版、RC版和GA版數據庫

 

  GA版即爲正式版vim

 

  1:社區版和企業版的區別

 

    1) 首先價格上,社區版徹底免費,企業版須要高額的費用安全

 

    2) 技術上,企業版具備MySQL企業級服務器、MySQL企業級系統監控工具。企業版通過嚴格的測試認證,相對企業版,社區版的開發測試環境沒有那麼嚴格服務器

 

    3)服務方面,社區版mysql官方不提供任何技術支持,使用過程出現任何意外不負任何責任,企業版與之相反ide

 

    4)商業版不支持GPL協議

 

  2:MySQL產品路線

 

    三條產品線

 

    1)5.0.XX到5.1.XX產品系列

 

      這條產品線繼續完善改進用戶體驗和性能,同時增長新功能,是mysql早期產品的延續,如rhel6自帶的mysql

 

    2)5.4.XX開始到5.7.XX產品系列

 

      mysql社區和第三方公司percona整合的,吸取新的算法和存儲引擎,如今已經到了5.6.26

 

    3)6.0.XX到7.X.XX產品系列

 

      主要是爲了更好的推廣MySQL Cluster版本,提供Cluster版本的性能和穩定性,這個版本比較少公司用,緣由是出來太晚了

 

MySQL安裝

 

生產環境怎麼選擇MySQL版本

 

  1:選擇穩定版 選擇社區的GA版

 

  2:產品線,主要是5.1和5.5 ,多數5.5

 

  3:選擇MySQL GA版發佈6個月以上的版本

 

  4:最好向後較長時間沒有更新發布的版本

 

  5:與開發人員使用版本的兼容

 

  6:測試環境跑3-6個月

 

  7:到生產環境非核心業務跑幾個月

 

MySQL安裝方法

  1:使用二進制方式安裝,rpm/yum

  2: 源碼編譯,產品線路1用普通編譯安裝,線路2cmake編譯安裝5.5/6/7

  3:批量部署,src.rpm  經過spec文件

環境:CentOS6.5x86-64(此爲本文環境,但實際上包括但不限於),提早配置好本地和在線yum源,準備好mysql的源碼包(本文mysql-5.5.32)

源碼編譯安裝普通的編譯安裝,在nginx中已經給出了詳細的過程,本文將重點講述mysql的cmake的編譯安裝,以mysql-5.5.32爲例。

1.安裝cmake編譯工具

[root@xiaolyu76 ~]# yum install cmake -y

 

2.下載MySQL

[root@xiaolyu76 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz

3. 安裝依賴包

[root@xiaolyu76 ~]# yum install ncurses-devel –y    //用於終端操做的開發包

4. 添加用戶

[root@xiaolyu76 ~]# useradd -u 8001 -s /sbin/nologin mysql

 

5. 建立數據庫存放目錄

[root@xiaolyu76 ~]# mkdir /data [root@xiaolyu76 ~]# tar zxf mysql-5.5.32.tar.gz [root@xiaolyu76 ~]# cd mysql-5.5.32
[root@xiaolyu76 mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
[root@xiaolyu76 mysql-5.5.32]# make -j 4 && make install -j 4 
//指使用4個cpu核心數,如咱們的雙核四線程,就能夠寫4
 

參數說明:

-DCMAKE_INSTALL_PREFIX           數據文件存放目錄

-DMYSQL_UNIX_ADDR                sock文件路徑

-DDEFAULT_CHARSET                默認字符集

-DDEFAULT_COLLATION           默認字符校對

-DWITH_EXTRA_CHARSETS           擴展字符支持  默認all

-DWITH_storage_STORAGE_ENGINE    存儲引擎的支持,默認支持MyISAM,MERGE,MEMORY,CVS存儲引擎

-DENABLED_LOCAL_INFILE=1         啓用加載本地數據

-DMYSQL_DATADIR                  數據存放目錄

-DMYSQL_USER                     mysql運行用戶

擴展:

-DWITH_PARTITION_STORAGE_ENGINE=1   支持分區表

-DINSTALL_LIBDIR=dir_name

-DSYSCONFDIR=dir_name    The default my.cnf option file directory

7. 受權用戶

[root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /usr/local/mysql/ [root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /data [root@xiaolyu76 mysql-5.5.32]# chmod 1777 /tmp

 

 

 8. 建立配置文件

[root@xiaolyu76 mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf

9. 設置環境變量

[root@xiaolyu76 mysql-5.5.32]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile [root@xiaolyu76 mysql-5.5.32]# source !$

 10. 建立服務啓動腳本,添加開機啓動

[root@xiaolyu76 mysql-5.5.32]# cp support-files/mysql.server/etc/init.d/mysqld [root@xiaolyu76 mysql-5.5.32]# chmod +x /etc/init.d/mysqld //給腳本添加執行權限 
[root@xiaolyu76 mysql-5.5.32]# vim /etc/init.d/mysqld //服務啓動腳本要修改如下兩個參數 
basedir=/usr/local/mysql //MySQL安裝目錄 
datadir= /data //數據存放目錄 
 [root@xiaolyu76 mysql-5.5.32]# chkconfig mysqld on //添加開機啓動

 

 11. 初始化數據庫

[root@xiaolyu76 mysql-5.5.32]# chmod +x scripts/mysql_install_db 
[root@xiaolyu76 mysql-5.5.32]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data--user=mysql

//看到兩個ok就成功

 

12. 初始化安全配置

[root@xiaolyu76 mysql-5.5.32]#  service mysqld start  //啓動mysql服務。
[root@xiaolyu76 mysql-5.5.32]#  service mysqld status  //察看mysql服務的狀態
[root@xiaolyu76 mysql-5.5.32]# mysql_secure_installation 安全初始化配置 //注意: 初始化安全配置以前,必定要啓動mysql服務 

 

 

 

13. 建立用戶和數據庫

[root@xiaolyu76 mysql-5.5.32]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5.5.32-log Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> grant all privileges on *.* to system@'%' identified by '123456' with grant option;
//建立system用戶賦予它在任何服務器上登陸的權限。 %表明任意的server。localhost只能在本機上登陸。

 

14. 測試mysql是否安裝成功

建立game數據庫,並用system用戶在宿主機上用第三方工具登陸

create database game; 

 ok, 測試成功,代表我前面的mysql數據庫cmake編譯安裝成功。

相關文章
相關標籤/搜索