mysql5.1.70源碼安裝詳細步驟,支持openssl,支持innodb_plugin存儲引擎

第一部分:首先編譯安裝openssl
mysql

1.首先須要建立mysql用戶nginx

shell>groupadd mysql
shell>useradd -s /sbin/nologin -g mysql mysql
    #設置mysql默認bash爲nologin,不容許登陸系統

2.依賴關係c++

shell>yum install ncurses
shell>yum install ncurses-devel
shell>yum install gcc libgcc gcc-c++ compat-gcc
shell>yum install libtool libtool-ltdl-devel

3.編譯安裝opensslsql

shell>wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
shell>tar -zxvf openssl-1.0.1f.tar.gz
shell>cd openssl-1.0.1f
shell>./config -fPIC#不添加-fPIC參數,在make mysql階段會報錯
shell>make && make install
#openssl默認安裝位置在/usr/local/ssl

##error1shell

在編譯openssl時數據庫

../include/violite.h:98:30: 錯誤:openssl/opensslv.h:沒有那個文件或目錄vim

../include/violite.h:114:25: 錯誤:openssl/ssl.h:沒有那個文件或目錄centos

../include/violite.h:115:25: 錯誤:openssl/err.h:沒有那個文件或目錄bash

In file included from libmysql.c:30:服務器

../include/violite.h:127: 錯誤:expected specifier-qualifier-list before ‘SSL_CTX’

make[2]: *** [libmysql.lo] 錯誤 1

make[2]: Leaving directory `/root/nginx/mysql-5.5.3-m3/libmysql'

make[1]: *** [all] 錯誤 2

make[1]: Leaving directory `/root/nginx/mysql-5.5.3-m3/libmysql'

make: *** [all-recursive] 錯誤 1

解決:

shell>yum install openssl*

##error2

/usr/local/ssl/lib/libssl.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make: *** [openssl.so] Error 1

解決:

#從新編譯openssl,加上-fPIC參數
shell>.config -fPIC


3./configure 參數配置

---------------------------------------------

#加載openssl路徑

shell>LDFLAGS="-L/usr/local/ssl/lib" CFLAGS="-I/usr/local/ssl/include" CPPFLAGS="-I/usr/local/ssl/include" CXXFLAGS="-I/usr/local/ssl/include"
    #centos上測試不帶這條也能夠

#配置

shell>./configure --prefix=/usr/local/mysql --datadir=/data/mysql --with-charset=utf8 --with-extra-charsets=complex --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-pthread --with-ssl=/usr/local/ssl --enable-assembler --with-plugins=partition,archive,csv,federated,heap,innobase,myisam,myisammrg --with-mysqld-user=mysql

---------------------------------------------

##配置各項解釋:

--prefix=/usr/local/mysql
 #基本安裝目錄

--datadir=/data/mysql
 #數據文件安裝目錄

--with-tcp-port=3306
 #mysqld服務默認監聽端口爲3306,能夠在這裏指定一個端口

--with-charset=utf8 --with-extra-charsets=complex
 #字符編碼設置

--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
 #mysql.sock用於服務器和客戶機之間的通訊,默認位置在/tmp/mysql.sock

--with-pthread 
--with-ssl=/usr/local/ssl
 #選擇前一步驟中openssl的安裝路徑

--enable-assembler
 #To build the embedded MySQL library (libmysqld.a), use the

 #--with-embedded-server option 
--with-plugins=partition,archive,csv,federated,heap,innobase,myisam,myisammrg 
--with-mysqld-user=mysql


4.編譯安裝

shell>make %% make install

5.安裝後配置

##更改權限

shell>chown mysql.mysql /usr/local/mysql -R
shell>chown mysql.mysql /data/mysql -R

##複製配置文件

shell>cd /home/mysql-5.1.70
shell>cp mysql-5.1.70/support-files/my-large.cnf /etc/my.cnf

##添加datadir

shell>vim /etc/my.cnf
datadir=/data/mysql

#複製mysqld啓動腳本

shell>cp mysql-5.1.70/support-files/mysql.server /etc/init.d/mysqld
shell>chmod 755 /etc/init.d/mysqld

#初始化數據庫

shell>/usr/local/mysql/bin/mysql_install_db --user=mysql

登陸

shell>/usr/local/mysql/bin/mysql -uroot -p

修改密碼

shell>/usr/local/mysql/bin/mysqladmin -u root password 'mysql'

5.添加ssl支持

shell>/usr/local/mysql/bin/mysql -uroot -p

#顯示ssl狀態

shell>show ariables like '%ssl%';
mysql> show variables like '%ssl%';
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| have_openssl  | DISABLED |
| have_ssl      | DISABLED |
| ssl_ca        |          |
| ssl_capath    |          |
| ssl_cert      |          |
| ssl_cipher    |          |
| ssl_key       |          |
+---------------+----------+

#啓用ssl

shell>/etc/init.d/mysqld stop
shell>vim /etc/my.cnf

#在[mysqld]下添加一行

ssl

#啓動mysqld 再次查看

mysql> show variables like '%ssl%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl  | YES   |
| have_ssl      | YES   |
| ssl_ca        |       |
| ssl_capath    |       |
| ssl_cert      |       |
| ssl_cipher    |       |
| ssl_key       |       |
+---------------+-------+

6.安裝innodb_plugin 支持

#innodb_plugin 已經被內置在mysql安裝目錄下的/lib/mysql/plugin/中

#關閉mysqld

shell>/etc/init.d/mysqld stop

#編輯配置文件,添加下面幾行

shell>vim /etc/my.cnf
ignore_builtin_innodb 
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

#重啓mysqld

shell>/etc/init.d/mysqld restart
shell>/usr/local/mysql/bin/mysql -uroot -p
mysql> show plugins;
+---------------------+----------+--------------------+---------------------+---------+
| Name                | Status   | Type               | Library             | License |
+---------------------+----------+--------------------+---------------------+---------+
| binlog              | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| partition           | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| ARCHIVE             | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| CSV                 | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| FEDERATED           | DISABLED | STORAGE ENGINE     | NULL                | GPL     |
| MEMORY              | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| MyISAM              | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| MRG_MYISAM          | ACTIVE   | STORAGE ENGINE     | NULL                | GPL     |
| InnoDB              | ACTIVE   | STORAGE ENGINE     | ha_innodb_plugin.so | GPL     |
| INNODB_TRX          | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_LOCKS        | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_LOCK_WAITS   | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_CMP          | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_CMP_RESET    | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_CMPMEM       | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
| INNODB_CMPMEM_RESET | ACTIVE   | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL     |
+---------------------+----------+--------------------+---------------------+---------+
16 rows in set (0.00 sec)
相關文章
相關標籤/搜索