Linux RedHat 6.4 MySQL5.6源碼包安裝

一、準備工作:

1、查詢系統中已安裝的MySQL相關軟件包  

[root@MySQL ~]# rpm -qa|grep -i  mysql

2、如果MySQL已開啓,停止運行MySQL服務器    

[root@MySQL ~]#service mysqld stop             

3、卸載系統包

[root@MySQL ~]# rpm -e perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps

[root@MySQL ~]# rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps

[root@MySQL ~]# rpm -e qt-mysql-4.6.2-25.el6.x86_64 --nodeps


二、安裝編譯

1、MySQL編譯依賴

(1)、必備的包和工具

    gcc/g++ :MySQL 5.6開始,需要使用g++進行編譯。

    cmake  :MySQL 5.5開始,使用cmake進行工程管理,cmake需要2.8以上版本。

    bison   :MySQL語法解析器需要使用bison進行編譯。

    ncurses-devel :用於終端操作的開發包。

    zlib    :MySQL使用zlib進行壓縮。

(2)、功能需要的包

    libxml   :用於XML輸入輸出方式的支持。

    openssl  :使用openssl安全套接字方式通信。

    dtrace   :用於診斷MySQL問題。

2、MySQL基本編譯參數

cmake 參數說明手冊參考:http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html

--CMAKE_BUILD_TYPE  //編譯的版本類型:RelWithDebInfo和Debug,不同之處是RelWithDebInfo會進行優化。

--CMAKE_INSTALL_PREFIX //指定make install安裝的目標路徑。

--SYSCONFDIR //指定配置文件的默認路徑。

--MYSQL_DATADIR //指定data目錄的默認路徑.

--WITH_DEBUG // 指定是否有debugging信息,一般用於源碼調試時,打開WITH_DEBUG,生產環境關閉。

--ENABLED_PROFILING //指定是否可以使用show profile顯示操作執行的詳細信息。

--DEFAULT_CHARSET //指定默認字符集,可以在啓動的配置文件中指定。

--DEFAULT_COLLATION // 指定默認字符比較、排序的規則

--WITH_EXTRA_CHARSETS //指定其他可能使用的字符集。

--WITH_SSL //指定SSL的類型,從5.6.6開始默認bundled類型,此外也可以指定SSL庫的路徑地址。

--WITH_ZLIB //指定zlib的類型,用於壓縮功能。

--WITH_storage_STORAGE_ENGINE //指定編譯支持的存儲引擎,默認支持MyISAM,MERGE,MEMORY,CSV存儲引擎。

--ENABLED_LOCAL_INFILE //指定是否允許使用load data infile功能。

--WITH_EMBEDDED_SERVER //指定是否編譯libmysqld嵌入式庫

--INSTALL_LAYOUT //指定安裝的佈局類型。


3、安裝信息

   操作系統 RedHat 6.4

   [root@MySQL ~]# cat /etc/issue

   Red Hat Enterprise Linux Server release 6.4 (Santiago)

   MySQL 版本 5.6.23

   下載地址:http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz/from/http://cdn.mysql.com/

   安裝目錄爲:/app/mysql/

   數據目錄爲:/data/mysqldata 

   存儲引擎包括:MEMORY,MyISAM,InnoDB等 

   字符集爲:UTF8

4、安裝源碼說依賴的庫

   [root@MySQL ~]# yum -y install gcc gcc-c++ autoconf   zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* 

5、下載所需軟件包:

  #將下載的文件都放到/opt目錄下,如下

  cmake:http://www.cmake.org/files/v2.8/cmake-2.8.11.1.tar.gz

  bison:http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz

  m4:http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz

6、所需包

  安裝cmake編譯器

  [root@MySQL ~]# cd /opt

  [root@MySQL ~]# tar -xvf cmake-2.8.11.1.tar.gz

  [root@MySQL ~]# cd cmake-2.8.11.1

  [root@MySQL ~]# ./bootstrap

  [root@MySQL ~]# make && make install


安裝m4

  [root@MySQL ~]# tar -xvf m4-1.4.16.tar.gz

  [root@MySQL ~]# cd m4-1.4.16

  [root@MySQL ~]# ./configure && make && make install


安裝bison

  [root@MySQL ~]# tar -xvf bison-2.7.tar.gz

  [root@MySQL ~]# cd bison-2.7

  [root@MySQL ~]# ./configure && make && make install

7、創建mysql用戶與組,相關目錄

[root@MySQL ~]# /usr/sbin/groupadd mysql

[root@MySQL ~]# /usr/sbin/useradd -g mysql mysql

[root@MySQL ~]# mkdir -p /app/mysql

[root@MySQL ~]# chown -R mysql:mysql /app/mysql

[root@MySQL ~]# mkdir -p /data/mysqldata

[root@MySQL ~]# chown -R mysql:mysql /data/mysqldata/ 


8、編譯安裝mysql

[root@MySQL opt]# tar -zxvf mysql-5.6.23.tar.gz

[root@MySQL opt]# cd mysql-5.6.23

[root@MySQL mysql-5.6.23]# export CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"

[root@MySQL mysql-5.6.23]# export CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"

[root@MySQL mysql-5.6.23]# export CXX=g++

[root@MySQL mysql-5.6.23]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

     -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk  \

     -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 \

     -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldata/ -DSYSCONFDIR=/etc \

     -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \

     -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 \

[root@MySQL mysql-5.6.23]# make && make install

9、初始化數據庫

拷貝mysql配置文件

[root@MySQL mysql-5.6.23]# cp support-files/my-default.cnf /etc/my.cnf 

[root@MySQL ~]# cd /app/mysql/scripts/

[root@MySQL scripts]# ./mysql_install_db --user=mysql  --basedir=/app/mysql --datadir=/data/mysqldata/ 


10、配置環境變量

[root@MySQL ~]# vim /etc/profile

PATH=/app/mysql/bin:/app/mysql/lib:$PATH

export PATH

[root@MySQL ~]# source /etc/profile


11、設置開機啓動

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

[root@MySQL mysql-5.6.23]# chkconfig --add mysqld

[root@MySQL mysql-5.6.23]# chkconfig --list mysqld

mysqld          0:關閉  1:關閉  2:啓用  3:啓用  4:啓用  5:啓用  6:關閉

[root@MySQL mysql-5.6.23]# chmod 755 /etc/init.d/mysqld 

[root@MySQL mysql-5.6.23]# service mysqld start

Starting MySQL..[確定]


12、初始化root密碼

[root@MySQL ~]#/app/mysql/bin/mysqladmin -u root password '123456'


遇到問題 如果不能初始化密碼,出現ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@MySQL ~]# /etc/init.d/mysql stop

[root@MySQL ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[root@MySQL ~]# mysql

UPDATE user SET password=PASSWORD('123456') WHERE user='root';

FLUSH PRIVILEGES;

[root@MySQL ~]# mysql -uroot -p123456


13、訪問授權

[root@MySQL ~]#mysql/bin/mysql -uroot -p         #敲入該命令後,屏幕會提示輸入密碼,輸入上一步設置的密碼

    刪除root密碼爲空的記錄

    mysql> use mysql;

    mysql> delete from user where password='';

    mysql> flush privileges;

    配置mysql允許root遠程登錄                                  #登錄

    mysql> grant all privileges on *.* to root@'%' identified by "123456";

    mysql> flush privileges;

    mysql> select User,Password,Host from user;


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