Mysql原始碼安裝---mysql-5.5.20
一、下載原始碼包,百度雲盤:https://pan.baidu.com/s/1vEgAHCxNX5ctZi4VRhXBnA
二、將原始碼包放到/usr/src目錄
三、解壓原始碼包:tar -xzvf mysql-5.5.20.tar.gz
四、進入解壓後的目錄:cd mysql-5.5.20
五、安裝如下包:yum install cmake ncurses-devel ncurses gcc-c++ –y
六、預編譯:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1\ -DWITH_EXTRA_CHARSETS=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_BIG_TABLES=1 \ -DWITH_DEBUG=0
mysql引數解釋:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 Cmake預編譯;-DMYSQL_UNIX_ADDR=/tmp/mysql.sock MYSQL Socket通訊檔案位置;-DMYSQL_DATADIR=/data/mysql MYSQL資料存放路徑; -DSYSCONFDIR=/etc 配置檔案路徑; -DMYSQL_USER=mysql MYSQL執行使用者; -DMYSQL_TCP_PORT=3306 MYSQL監聽埠; -DWITH_XTRADB_STORAGE_ENGINE=1 開啟xtradb引擎支援; -DWITH_INNOBASE_STORAGE_ENGINE=1 開啟innodb引擎支援; -DWITH_PARTITION_STORAGE_ENGINE=1 開啟partition引擎支援; -DWITH_BLACKHOLE_STORAGE_ENGINE=1 開啟blackhole引擎支援; -DWITH_MYISAM_STORAGE_ENGINE=1 開啟MyISAM引擎支援; -DWITH_READLINE=1 啟用快捷鍵功能; -DENABLED_LOCAL_INFILE=1 允許從本地匯入資料; -DWITH_EXTRA_CHARSETS=1 支援額外的字符集; -DDEFAULT_CHARSET=utf8 預設字符集UTF-8; -DDEFAULT_COLLATION=utf8_general_ci 檢驗字元; -DEXTRA_CHARSETS=all 安裝所有擴充套件字符集; -DWITH_BIG_TABLES=1 將臨時表儲存在磁碟上; -DWITH_DEBUG=0 禁止除錯模式支援; make 編譯; make install 安裝。
七、make -j4 && make -j4 install
八、安裝完成後,執行如下內容:
cd /usr/local/mysql55/
\cp support-files/my-large.cnf /etc/my.cnf #複製配置檔案
\cp support-files/mysql.server /etc/init.d/mysqld #新增到系統服務
chkconfig --add mysqld #新增到開機自啟
chkconfig --level 345 mysqld on
mkdir -p /data/mysql
useradd -M -s /sbin/nologin mysql
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/ #安裝初始化
ln -s /usr/local/mysql55/bin/* /usr/bin/ #新增到環境變數
service mysqld restart
九、只要在/etc/init.d/目錄下的檔案,都開始新增到系統服務,新增到開機自啟,使用services mysql start
十、配置檔案
[mysqld] //伺服器端配置 datadir=/data/mysql //資料目錄 socket=/var/lib/mysql/mysql.sock //socket通訊設定 user=mysql //使用mysql使用者啟動; symbolic-links=0 //是否支援快捷方式; log-bin=mysql-bin //開啟bin-log日誌; server-id = 1 //mysql服務的ID; auto_increment_offset=1 //自增長欄位從固定數開始; auto_increment_increment=2 //自增長欄位每次遞增的量; socket = /tmp/mysql.sock //為MySQL客戶程式與伺服器之間的本地通訊套接字檔案; port = 3306 //指定MsSQL監聽的埠; key_buffer = 384M //key_buffer是用於索引塊的緩衝區大小; table_cache = 512 //為所有執行緒開啟表的數量; sort_buffer_size = 2M //每個需要進行排序的執行緒分配該大小的一個緩衝區; read_buffer_size = 2M //讀查詢操作所能使用的緩衝區大小。 query_cache_size = 32M //指定MySQL查詢結果緩衝區的大小 read_rnd_buffer_size = 8M //改引數在使用行指標排序之後,隨機讀; myisam_sort_buffer_size = 64M //MyISAM表發生變化時重新排序所需的緩衝; thread_concurrency = 8 //最大併發執行緒數,取值為伺服器邏輯CPU數量×2; thread_cache = 8 //快取可重用的執行緒數; skip-locking //避免MySQL的外部鎖定,減少出錯機率增強穩定性。 default-storage-engine=INNODB //設定mysql預設引擎為Innodb; #mysqld_safe config [mysqld_safe] //mysql服務安全啟動配置; log-error=/var/log/mysqld.log //mysql錯誤日誌路徑; pid-file=/var/run/mysqld/mysqld.pid //mysql PID程序檔案; key_buffer_size = 2048MB //MyISAM表索引緩衝區的大小; max_connections = 3000 //mysql最大連線數; innodb_buffer_pool_size = 2048MB //InnoDB記憶體緩衝資料和索引大小; basedir = /usr/local/mysql55/ //資料庫安裝路徑; [mysqldump] //資料庫匯出段配置; max_allowed_packet =16M //伺服器和客戶端傳送的最大資料包;
[mysqld] //伺服器端配置
datadir=/data/mysql //資料目錄
socket=/var/lib/mysql/mysql.sock //socket通訊設定
user=mysql //使用mysql使用者啟動;
symbolic-links=0 //是否支援快捷方式;
log-bin=mysql-bin //開啟bin-log日誌;
server-id = 1 //mysql服務的ID;
auto_increment_offset=1 //自增長欄位從固定數開始;
auto_increment_increment=2 //自增長欄位每次遞增的量;
socket = /tmp/mysql.sock //為MySQL客戶程式與伺服器之間的本地通訊套接字檔案;
port = 3306 //指定MsSQL監聽的埠;
key_buffer = 384M //key_buffer是用於索引塊的緩衝區大小;
table_cache = 512 //為所有執行緒開啟表的數量;
sort_buffer_size = 2M //每個需要進行排序的執行緒分配該大小的一個緩衝區;
read_buffer_size = 2M //讀查詢操作所能使用的緩衝區大小。
query_cache_size = 32M //指定MySQL查詢結果緩衝區的大小
read_rnd_buffer_size = 8M //改引數在使用行指標排序之後,隨機讀;
myisam_sort_buffer_size = 64M //MyISAM表發生變化時重新排序所需的緩衝;
thread_concurrency = 8 //最大併發執行緒數,取值為伺服器邏輯CPU數量×2;
thread_cache = 8 //快取可重用的執行緒數;
skip-locking //避免MySQL的外部鎖定,減少出錯機率增強穩定性。
default-storage-engine=INNODB //設定mysql預設引擎為Innodb;
#mysqld_safe config
[mysqld_safe] //mysql服務安全啟動配置;
log-error=/var/log/mysqld.log //mysql錯誤日誌路徑;
pid-file=/var/run/mysqld/mysqld.pid //mysql PID程序檔案;
key_buffer_size = 2048MB //MyISAM表索引緩衝區的大小;
max_connections = 3000 //mysql最大連線數;
innodb_buffer_pool_size = 2048MB //InnoDB記憶體緩衝資料和索引大小;
basedir = /usr/local/mysql55/ //資料庫安裝路徑;
[mysqldump] //資料庫匯出段配置;
max_allowed_packet =16M //伺服器和客戶端傳送的最大資料包;