CentOS7源碼安裝MySQL5.7.19

系統(tǒng)環(huán)境:
#cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
數(shù)據(jù)庫(kù)版本:
mysql-boost-5.7.19.tar.gz
#注意是代boost版本

自動(dòng)化安裝腳本:

#!/bin/bash
##############################################################
# File Name: mysql_install.sh
# Version: V1.0
# Author: Tim
# Organization: opensource
# Created Time : 2017-08-30 18:23:47
# Description:
##############################################################

#定義文件路徑

packageDir=/usr/local/src
versionDir=mysql-5.7.19
dataDir=/app/mysql
installDir=/app/local/mysql

#安裝依賴軟件

yum install -y gcc-c++ make cmake bison bison-devel ncurses-devel libaio-devel perl perl-Data-Dumper

#創(chuàng)建用戶和用戶組

cat /etc/passwd | grep mysql

if [ $? -ne 0 ];then
groupadd mysql
useradd -r -g mysql mysql
fi

創(chuàng)建安裝目錄

if [ ! -d $dataDir ];then
mkdir -p $dataDir/data
mkdir -p $dataDir/logs
mkdir -p $dataDir/temp
fi

if [ ! -d $installDir ];then
mkdir -p $installDir
fi

cd $packageDir
tar xvf mysql-boost-5.7.19.tar.gz

cd $versionDir
nowDir=pwd

if [ $nowDir == $packageDir/$versionDir ];then
cmake . -DCMAKE_INSTALL_PREFIX=/app/local/mysql
-DMYSQL_DATADIR=/app/mysql/data
-DMYSQL_UNIX_ADDR=/app/local/mysql/mysql.sock
-DWITH_BOOST=./boost/boost_1_59_0/
-DSYSCONFDIR=/app/local/mysql
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DENABLE_DTRACE=0
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8imb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DWITH_EMBEDDED_SERVER=1
make && make install
make clean
fi

cp /app/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

chown -Rf mysql:mysql /app/local/mysql/
chown -Rf mysql:mysql /app/mysql/

echo 'export PATH=$PATH:/app/local/mysql/bin:/app/local/mysql/lib' >> /etc/profile

source /etc/profile

cat > $installDir/my.cnf <<EOF
[client]
port = 3306
socket = /app/local/mysql/mysql.sock
[mysqld]
port = 3306
socket = /app/local/mysql/mysqld.sock
basedir = /app/local/mysql
datadir = /app/mysql/data
pid-file = /app/local/mysql/mysqld.pid
user = mysql
server-id = 1
init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
skip-name-resolve

skip-networking

back_log = 300
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /app/mysql/logs/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /app/mysql/logs/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
EOF

cd $installDir
chown -R mysql:mysql my.cnf

#mysqld --initialize-insecure --user=mysql --basedir=/app/local/mysql --datadir=/app/mysql/data --pid-file=/app/mysql/mysql.pid

$installDir/bin/mysqld --initialize-insecure --user=mysql --basedir=/app/local/mysql --datadir=/app/mysql/data

以上腳本安裝完成:
#systemctl start mysqld
注意事項(xiàng):
1.定義數(shù)據(jù)庫(kù)安裝目錄,數(shù)據(jù)存放目錄

  1. my.cnf文件要注意,建議用我提供的,后期再調(diào)優(yōu)。如果不是我的my.cnf可以在執(zhí)行$installDir/bin/mysqld 這條命令時(shí)可以創(chuàng)建庫(kù)文件,但啟動(dòng)mysqld時(shí)日志提示pid文件不存在導(dǎo)致無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)。
  2. 可能報(bào)錯(cuò)
    [root@localhost mysql]# systemctl start mysqld.service
    Warning: mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    [root@localhost mysql]# systemctl daemon-reload
    [root@localhost mysql]# systemctl restart mysqld
    [root@localhost mysql]# ps -ef | grep mysqld
    root 72650 1 1 02:19 ? 00:00:00 /bin/sh /app/local/mysql/bin/mysqld_safe --datadir=/app/mysql/data --pid-file=/app/local/mysql/mysqld.pid
    mysql 74227 72650 3 02:19 ? 00:00:00 /app/local/mysql/bin/mysqld --basedir=/app/local/mysql --datadir=/app/mysql/data --plugin-dir=/app/local/mysql/lib/plugin --user=mysql --log-error=/app/mysql/logs/mysql-error.log --open-files-limit=65535 --pid-file=/app/local/mysql/mysqld.pid --socket=/app/local/mysql/mysqld.sock --port=3306
    root 74259 31157 0 02:19 pts/3 00:00:00 grep --color=auto mysqld
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,115評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,234評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,621評(píng)論 1 326
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,822評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,380評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,128評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,319評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,548評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評(píng)論 1 291
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,048評(píng)論 3 397
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,285評(píng)論 2 376

推薦閱讀更多精彩內(nèi)容