Mysql 學習篇之原始碼安裝mysql

蘭在晨發表於2015-06-28

安裝概述

    mysql在linux系統下的安裝方式主要有三種:

    1、RPM包安裝,如同其他RPM軟體一樣,通過 rpm -ivh  mysql.rpm 即可安裝。

       rpm包解除安裝:

       先通過rpm -qa|grep mysql來查詢要解除安裝的包

       然後通過解除安裝這些包,由於相互之間可能存在依賴最好使用rpm --nodeps -e mysql-package

    2、二進位制安裝

      二進位制安裝包是官方針對特定平臺進行過相關優化後的。無需安裝解壓後可以直接使用,可移植性比較好。

    3、第三種就是原始碼安裝也是本文件的重點。

 

 第一步、安裝cmake

       cmke下載地址:http://www.cmake.org/files/ 可以選擇自己需要的版本。

 

第二步、系統配置
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/ 在這個地址下載相應的原始碼安裝包

#groupadd mysql

#useradd -g mysql mysql

#vi /etc/security/limits.conf

#for mysql

mysql   soft nproc  2047

mysql  hard nproc  16384

mysql  soft nofile   1024

mysql  hard nofile   65536

# tar -zxvf mysql-5.6.25.tar.gz

第三步:編譯mysql檔案

    解壓完成後進入解壓後目錄進行編譯,由於本篇為安裝文件在這裡不一一介紹下面每個引數的含義,可以自行查閱文件。

#cd  mysql-5.6.25

#cmake . -DCMAKE_INSTALL_PREFIX=/product/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DCOMPILATION_COMMENT='wpg FOR MYSQL TEST' \

-DWITH_READLINE=ON \

-DSYSCONFDIR=/product/mysqldata/3306 \

-DMYSQL_UNIX_ADDR=/product/mysqldata/3306/mysql.sock

完成後會輸出提示資訊:

--Configuring done

--Generating done

如果過程中出現報錯,需要在更正之後重新編譯。

 

第四步:安裝mysql software

    #make && make install

    這一步需要花費較長時間

 

    安裝完成之後,需要將mysql軟體目錄所有者修改為mysql使用者,畢竟生成環境不能用root作為mysql的系統使用者,會帶來安全隱患。

#chown -R mysql:mysql /product/mysql

到此mysql資料庫軟體已經安裝完成。

 

第五步:建立mysql 資料庫服務

    建立相應目錄

#mkdir -p /mysqldata/{3306/{data,tmp,binlog},backup,scripts}

#chown -R mysql:mysql mysqldata/

#su - mysql

修改mysql配置檔案my.cnf(前面我們指定的預設路徑…/mysqldata/3306/下)

#vi my.cnf

 

[client]

port    = 3306

socket  = /product/mysqldata/3306/mysql.sock

 

[mysqld]

user    = mysql

port    = 3306

socket  = /product/mysqldata/3306/mysql.sock

basedir = /product/mysql

datadir = /product/mysqldata/3306/data

tmpdir=/product/mysqldata/3306/tmp

log-error = /product/mysqldata/3306/mysql_error.log

pid-file = /product/mysqldata/3306/mysql.pid

open_files_limit=10240

explicit_defaults_for_timestamp

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

#Buffer

max_allowed_packet=256M

max_heap_table_size=256M

net_buffer_length=8k

sort_buffer_size=2M

join_buffer_size=4M

read_buffer_size=2M

read_rnd_buffer_size=16M

 

#log

log-bin=/product/mysqldata/3306/binlog/mysql-bin

binlog_cache_size=32M

max_binlog_cache_size=512M

max_binlog_size=512M

binlog_format=mixed

log_output=FILE

log-error=../mysql-error.log

slow_query_log=1

slow_query_log_file=../slow_query.log

general_log=0

general_log_file=../general_query.log

expire-logs-days=14

 

#innoDB

innodb_data_file_path=ibdata1:2048M:autoextend

innodb_log_file_size=256M

innodb_log_files_in_group=3

innodb_buffer_pool_size=1024M

 

[mysql]

no-auto-rehash

prompt=(\u@\h)[\d]>\_

default-character-set=gbk

#----------------------------------------------------The End------------------

mysql_install_db指令碼在mysql安裝目錄下的scripts目錄下。

[mysql@testserver scripts]$ ./mysql_install_db --datadir=/product/mysqldata/3306/data --basedir=/product/mysql

安裝完成後仔細看輸出的提示資訊:

大概有一下幾方面:

1、mysql的啟動

2、mysql的初始化root密碼(/etc/.secret)或者初始密碼為空

3、預設配置檔案位置

4、測試mysql資料庫指令碼。

 

 

最後一步:啟動資料庫

$ mysqld_safe --defaults-file=/product/mysqldata/3306/my.cnf

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26723566/viewspace-1715048/,如需轉載,請註明出處,否則將追究法律責任。

相關文章