源碼安裝mysql-5.5.52(centos6.8minimal)

官方文檔:
Installing MySQL Using a Standard Source Distribution
MySQL Source-Configuration Options

準備工作
1.安裝wget、gcc、gcc-c++、bison、ncurses-devel

$ yum install wget gcc gcc-c++ bison ncurses-devel -y

2.安裝cmake-3.7.1

$ cd /usr/local/src
$ wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
$ tar zxf cmake-3.7.1.tar.gz
$ cd cmake-3.7.1
$ ./bootstrap && gmake && gmake install

3.下載mysql源碼包並解壓

$ cd /usr/local/src/
$ wget http://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.52.tar.gz
$ tar zxvf mysql-5.5.52.tar.gz
$ cd mysql-5.5.52

安裝過程
1.創建組mysql和用戶mysql

$ groupadd mysql
$ useradd -r -g mysql -s /sbin/nologin mysql
注:
-r 創建系統用戶;
-s 指定shell,/sbin/nologin只限制系統登錄,可以使用ftp等服務,/bin/false限制登錄及所有服務。

2.創建mysql安裝和數據存放目錄,屬主和屬組改爲mysql.mysql

$ mkdir –p /data/mysql
$ chown –R mysql.mysql /data/mysql

3.配置cmake選項

$ cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql
$ echo $?
注:
1)cmake選項:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
        指定安裝目錄
    -DMYSQL_DATADIR=/data/mysql
        指定數據存放目錄
    -DSYSCONFDIR=/etc
        指定配置存放目錄
    -DDEFAULT_CHARSET=utf8
        指定默認字符集
    -DDEFAULT_COLLATION=utf8_general_ci
        指定mysql排序規則(字符校對)
    -DMYSQL_USER=mysql
        指定mysql用戶

2)echo $? 用於配置結果檢驗,若輸出爲0,則配置成功。

4.編譯、安裝

$ make && make install
$ echo $?

5.初始化數據庫

$ ./scripts/mysql_install_db \
--user=mysql \
--datadir=/data/mysql \
--basedir=/usr/local/mysql
錯誤1:
-bash: ./scripts/mysql_install_db: Permission denied
解決方法:
chmod 755 ./scripts/mysql_install_db

錯誤2:
    FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
解決方法:
    添加選項--basedir=/usr/local/mysql

6.拷貝配置文件到/etc/

$ cp support-files/my-large.cnf /etc/my.cnf
注:
    mysql配置文件my.cnf在/usr/local/mysql/support-files/目錄下,分別爲my-small.cnf、my-medium.cnf、my-large.cnf以及my-huge.cnf,適用於不同規模的項目。例如,如果運行MySQL服務器的系統內存不多,而且MySQL只是偶爾使用,那麼使用my-small.cnf配置文件最爲理想,這個配置文件告訴mysqld daemon使用最少的系統資源。反之,如果MySQL服務器用於支持一個大規模的在線購物網站,系統資源充足,那麼使用mysql-huge.cnf 最爲合適。
    把my-large.cnf文件複製到服務器的/etc/my.cnf,此時文件中所定義的參數將全局有效,即對該服務器上運行的所有MySQL Server都有效。

7.mysql server服務添加到啓動文件,並更改權限

$ cp support-files/mysql.server /etc/init.d/mysqld
$ chmod 755 /etc/init.d/mysqld

8.修改服務啓動腳本

$ vim /etc/init.d/mysqld
修改部分如下:
    basedir=/usr/local/mysql
    datadir=/data/mysql

9.把啓動腳本加入系統服務項,並設定開機啓動,啓動mysql

$ chkconfig --add mysqld
$ chkconfig mysqld on
$ service mysqld start

錯誤之處,還望指出,多謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章