MySQL源码包编译安装
+++++++++++++++++++++++++++++++++++++++++++
標題:MySQL數(shù)據(jù)庫實例部署
時間:2019年5月2日
內(nèi)容:MySQL源碼包進行編譯,然后部署MySQL單實例
+++++++++++++++++++++++++++++++++++++++++++
1. MySQL源碼包編譯
1.1 安裝編譯環(huán)境
# yum install -y gcc gcc-c++
# yum install -y ncurses-devel.x86_64
# yum install -y libaio.x86_64
# yum install -y bison.x86_64
# yum install -y gcc-c++.x86_64
# yum install -y cmake.x86_64 //如果cmake版本過低,卸載低版本,安裝高版本的cmake。
# wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
# tar zxvf boost_1_59_0.tar.gz
# mv boost_1_59_0 /usr/local/boost
1.2 編譯參數(shù)詳解
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #mysql編譯安裝目錄
-DMYSQL_DATADIR=/home/mysql3306/mysql3306 #mysql默認數(shù)據(jù)目錄
-DDEFAULT_CHARSET=utf8 #mysql默認編碼
-DEXTRA_CHARSETS=all #編譯其他編碼
-DSYSCONFDIR=/etc #配置文件默認目錄
-DENABLED_LOCAL_INFILE=1 #是否允許載入外部數(shù)據(jù)文件
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #默認sock文件地址
-DDEFAULT_COLLATION=utf8_general_ci #默認排序規(guī)則
-DMYSQL_TCP_PORT=3306 #默認端口
-DMYSQL_USER=mysql #默認用戶
-DWITH_MYISAM_STORAGE_ENGINE=1 #引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_BOOST=/usr/local/boost #指定c++ boost庫的位置
1.3 . MySQL軟件編譯
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql3306/mysql3306 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost
# make
# make install
2. MySQL單實例部署
2.1 配置MySQL安裝環(huán)境
# useradd -s /sbin/nologin mysql //該用戶不需要登錄權(quán)限
# mkdir -p /data/mysql/mysql
# mkdir -p /data/mysql/logs
# chown -R mysql:mysql /data/mysql
2.2 配置MySQL配置文件
# cp my.cnf /etc/my.cnf
# vim /etc/my3306.cnf
修改配置文件中的與路徑相關(guān)的參數(shù)
port = 3306
socket = /tmp/mysql3306.sock
datadir = /data/mysql/mysql
server-id = 441203306 //MySQL實例的唯一標號
innodb_buffer_pool_size = 256M //實驗環(huán)境下,根據(jù)實際情況分配內(nèi)存
其他參數(shù)則需要根據(jù)具體需求進行修改。
2.3 MySQL實例內(nèi)存分配原則
單實例:建議單獨部署在單獨的服務(wù)器中,分配內(nèi)存為服務(wù)器內(nèi)存的75%。
多實例:建議核心節(jié)點單獨部署在單獨的服務(wù)器中,內(nèi)存具體分配根據(jù)數(shù)據(jù)庫服務(wù)器的壓力決定。
2.4 MySQL實例初始化
# tar zxvf mysql-5.7.19.el6.tar.gz -C /usr/local/
# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/mysql/ --user=mysql
注意:
--initialize mysql5.7初始化會創(chuàng)建隨機密碼;--initialize-insecure 初始化啟動后沒有密碼。
MySQL5.6版本的數(shù)據(jù)庫初始化腳本為mysql_install_db;MySQL5.7版本數(shù)據(jù)庫初始化腳本為mysqld。
# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
注意:啟動時先指定配置文件
# ps -ef |grep mysql
2.5 配置MySQL環(huán)境變量
# vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH:$HOME/bin
# source /etc/profile
轉(zhuǎn)載于:https://www.cnblogs.com/lv1572407/p/10427480.html
總結(jié)
以上是生活随笔為你收集整理的MySQL源码包编译安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是servlet及其生命周期
- 下一篇: linux cmake编译源码,linu