編譯安裝mysql-5.5.11

編譯安裝mysql-5.5.11

mysql5.5以上的版本採用的是cmake編譯安裝,不在採用之前gnu autotools 工具的 ./configure make make install編譯安裝了。

Cmake的重要特性之一是其獨立於源碼(out-of-source)的編譯功能,即編譯工作可以在另一個指定的目錄中進行,這可以保證源碼目錄不受任何一次編譯的影響,因此在同一個源碼樹上可以進行多次不同的編譯,比如針對不同的平臺編譯。

 

一.編譯環境的準備

 

安裝所需要系統庫相關庫文件

gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

 

源碼包:

cmake-2.8.10.2.tar.gz  mysql-5.5.11.tar.gz

 

源碼包地址:

http://pan.baidu.com/s/1eQwGXVW

 

二.編譯安裝cmake

[root@mysql MASQL]# tar -zxvf cmake-2.8.10.2.tar.gz

[root@mysql MASQL]# cd cmake-2.8.10.2

[root@mysql cmake-2.8.10.2]# ./bootstrap

[root@mysql cmake-2.8.10.2]# make && make install

 

三.編譯安裝mysql

1.創建mysql安裝目錄

[root@mysql cmake-2.8.10.2]# make /usr/local/mysql

 

2.創建數據存放目錄

Mysql的數據目錄應該放在一個獨立的lv上】

[root@mysql MASQL]# mkdir -p /data/mysql

 

3.創建用戶和用戶組與賦予數據存放目錄權限

[root@mysql MASQL]# groupadd -r mysql

[root@mysql MASQL]# useradd -r -g mysql -s /sbin/nologin mysql

[root@mysql MASQL]# chown mysql.mysql /data/mysql/

 

4.編譯安裝mysql-5.5.11

[root@mysql MASQL]# tar -zxvf mysql-5.5.11.tar.gz

[root@mysql MASQL]# cd mysql-5.5.11

[root@mysql mysql-5.5.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/loca l/mysql \

> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

> -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/mysql \

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3306

 

[root@mysql mysql-5.5.11]# make

[root@mysql mysql-5.5.11]# make install

 

[以下是對配置參數的詳細解釋,這裏介紹的比我配置的要多,大家在配置的時候根據需要添加]

 cmake -DCMAKE_INSTALL_PREFIX=/usr/loca l/mysql \

指定camke編譯軟件的安裝路徑

> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \

指定cmake編譯軟件的默認套接字文件路徑

> -DDEFAULT_CHARSET=utf8 \

指定默認的字符集爲utf8

> -DDEFAULT_COLLATION=utf8_general_ci \

指定默認的排序規則

> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_MEMORY_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

啓用LOCAL_INFILE

> -DMYSQL_DATADIR=/data/mysql \

指定cmake編譯軟件的數據安裝路徑

>-DSYSCONFDIR=/usr/local/mysql

指定cmake編譯軟件的配置文件路徑

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3306

指定camke編譯軟件的默認端口

>-DWITH_DEBUG=0

表示不啓用DEBUG功能

>-DENABLE_PROFILING=1

表示啓用PROFILING功能,PROFILING表示性能分析

 

5.複製配置文件並且增加一些內容

[root@mysql mysql-5.5.11]# cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

support-files下面有這樣四個文件,根據你機器的內存大小可以選擇複製哪一個文件,由大到小依次爲:

my-huge.cnf  my-large.cnf   my-medium.cnf  my-small.cnf

通常複製my-medium.cnf即可

#如果你的機器的內存較大,可以複製My-huge.cnf文件

vim /usr/local/mysql/my.cnf 

[mysqld]這個模塊中添加以下兩行,其實主要是添加第二行【數據文件存儲路徑】

basedir=/usr/local/mysql

datadir=/data/mysql/

 

6.初始化數據庫

(執行前 需要chmod 755 scripts/mysql_install_db 賦給文件執行權限)

[root@mysql mysql-5.5.11]# scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/

注:#basedir mysql安裝路徑 datadir 數據庫文件儲存路徑

 

7.設置mysqld的開機啓動:

[root@mysql mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysql

[root@mysql mysql-5.5.11]# chmod 755 /etc/init.d/mysql 

[root@mysql mysql-5.5.11]# chkconfig mysql on

 

8.配置環境

爲了方便,將mysql bin目錄加到PATH中,在/etc/profile中加入myslq/bin

export PATH=/usr/local/mysql/bin:$PATH

[root@mysql mysql-5.5.11]# source /etc/profile  [這一步別忘了哦,否則系統還是不能識別你新增加的環境變量]

 

9啓動mysql服務

[root@mysql mysql-5.5.11]# /etc/init.d/mysql start

Starting MySQL.... SUCCESS! 

 

如果你在啓動服務的時候出現了以下報錯:

[root@mysql mysql-5.5.11]# /etc/init.d/mysql start

Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/mysql.pid).

解決辦法:

vim /usr/local/mysql/my.cnf 

[mysqld]這個模塊中添加以下兩行,其實主要是添加第二行【數據文件存儲路徑】

basedir=/usr/local/mysql

datadir=/data/mysql/

 

啓動完成之後用ps -ef |grep mysql 命令查看是否啓動

 

[root@mysql mysql-5.5.11]# mysql -u root -p

Enter password: 

【直接回車,因爲此時root用戶是沒有密碼的,若登錄到mysql服務器證明一切配置ok

 

標準的mysql服務配置

1.設置root帳戶的密碼

[root@mysql mysql-5.5.11]# mysqladmin -u root password 'mysqlroot'

 

2.刪除本機匿名連接的空密碼帳號

【刪除原因:mysql默認安裝完成後一般會生成五個用戶,三個root 兩個匿名用戶

root[email protected] root@localhost root@hostname  匿名:@localhost @hostname,而且這些用戶是不需要密碼就可以登錄mysql服務器的,這對於mysql服務器是及其不安全的】

 

本機登錄mysql

[root@mysql mysql-5.5.11]# mysql -u root -p 

然後輸入上面設置的密碼,登錄後在mysql的命令行中執行:

mysql> use mysql;         //選擇默認數據庫mysql

mysql> update user set password='root' where user = '127.0.0.1';

mysql> delete from user where password="";

mysql> flush privileges;

mysql> quit

 

 

發佈了19 篇原創文章 · 獲贊 17 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章