linux 源碼編譯安裝MySQL

源碼編譯安裝mysql

一 準備工做 添加一塊硬盤 用該硬盤建立邏輯卷
1檢測新此盤
df -hT
2建立物理卷
pvcreate /dev/sd。。。
3建立卷組
vgcreate 卷組名 /dev/sd。。。
4建立邏輯卷
lvcreate -L 幾G -n 邏輯卷名 卷組名
5查看一下建立的邏輯卷
lvscan
6格式化邏輯卷
mkfs.xfs /dev/卷組名/邏輯卷名
7掛在邏輯卷
vim /etc/fstab
8掛在全部
mount -anode

 

 

二 安裝mysql
1檢測是否安裝mariadb數據庫
rpm -qa |grep mariadb
2若是有則卸載
rpm -e --nodeps mariadb-libs
#rpm --nodeps選項爲強制執行
3安裝cmake
yum install -y cmake
4建立mysql用戶
useradd -M -s /sbin/nologin mysql
5建立mysql數據目錄並修改文件的屬主/組
mkdir /mydata/data -p
chown -R mysql.mysql /mydata/data/
6下載mysql的軟件壓縮包並解壓
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz
tar zxf mysql-boots-5.7.17.tar.gz
#若是上方連接不能用則
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
而且解壓mysql
tar zxf mysql-5.7.17.tar.gz
建立/usr/local/boots目錄 用來存放boots安裝包 並把下載好的boots包剪切到此並解壓
mkdir -p /usr/local/boots
mv ./boost_1_59_0.tar.gz /usr/local/boots/
cd /usr/local/boots/
tar zxf boots_1_59_0.tar.gz
而且把下方mysql生成環境中的 -DWITH_BOOST=boost/boost_1_59_0/ 修改到最後一行爲-DWITH_BOOST=/usr/local/boost \
7 進入mysql解壓後的目錄
cd mysql-5.7.17
8編譯mysql生成環境
cmake \ #cmake . -L 查看幫助
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql的安裝目錄
-DMYSQL_UINX_ADDR=/tmp/mysql.sock \ #指定mysql的套接字文件路徑
-DDEFAULT_CHARSET=utf8 \ #指定mysql的字符集
-DDEFAULT_COLLATION=utf8_general_cI \ #指定MySQL排序規則
-DMYSQL_DATADIR=/mydata/data \ #指定mysql的數據目錄
-DMYSQL_TCP_PORT=3306 \ #指定MySQL啓動的端口號
-DWITH_BOOST=boost/boost_1_59_0/ \ #指定boost庫文件
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持myisam存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持innodb存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #支持archive存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #支持blackhole存儲引擎mysql

#錯誤1
CMake Error:your C compiler : "CMAKE_C_COMPOLER-NOTFOUND"was not found . please set CMAKE_C_COMPILER to a valid
compiler path or name .
CMake Error: your CXX compiler : "CMAKE_CXX_COMPILER-NOTFOUND" was not found . please set CMAKE_CXX_COMPILER to a
calid compiler path or name.
CMake Error at cmake/os/Linux.cmake : 41 (MESSAGE) :
Unsupported compiler!
Call Stack (most recent call first):
CMckeLists.txt:162(INCLUDE)
#解決辦法
yum groupinstall -y "Development Tools" "Server Platform Development" "Desktop Platform Development"sql

#錯誤2
CMake Error at cmake/readline.cmake:64(MESSAGE):
Curses library not found. Please install appropriate package,
#解決辦法
yum install -y ncurses-devel.x86_64數據庫

#若是編譯過程報錯 那麼要刪除mysql解壓後的目錄中的CMakeCache.txt
rm -rf CMakeCache.txtvim

9 檢測並安裝mysql
make
10安裝mysql
make install
10修改/usr/local/mysql/的屬主/組
chown -R root.mysql /usr/local/mysql/app


三初始化數據庫
1設置初始化的配置
/usr/local/mysql/bin/mysqld --initialize \ #初始化
--user=mysql \ #mysql啓動用戶
--basedir=/usr/local/mysql \ #MySQL安裝目錄
--datedir=/mydata/data #mysql數據目錄
#以後會有一條
2017-03-10T08:21:12.889095Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxxx
#:後的 xxxxxxx是你的mysql初始密碼
#錯誤一、[ERROR] --initialize specified but the data directory has files in it. Abort
[錯誤] -初始化指定,但數據目錄中有文件。停止
解決方法:將數據目錄下已存在的文件所有刪除。如:rm -rf /data/mysql/*
2複製mysql配置文件
cp /usr/local/mysql/supporrt-files/my-default.cnf /etc/my.cnf
3修改my.cnf
vim my.cnf
添加內容爲 : basedir=/usr/local/mysql
datadir=/mydata/data
port=3366
server_id=121
socket=/tmp/mysql.sock
保存退出
4啓動MySQL 並查看是否啓動
/usr/local/mysql/bin/mysqld_asfe --user=mysql &
ps aux | grep mysql (進程) 或者 ss -antp | grep :3306 (進程)
5登錄mysql
/usr/local/mysql/bin/mysql -u root -p
輸入密碼:
6進入mysql 就和yum安裝的mysql操做同樣了
7若是要使用mysql命令時不加絕對路徑。那就修改mysql環境變量 臨時
echo $OATH 查看一下
export PATH=$PATH:/usr/local/mysql/bin
echo $OATH 查看一下
8永久修改
1 vim /etc/porfile
添加一行 export PATH=$PATH:/usr/local/mysql/bin
2 在/etc/profile.d/下建立一個mysql專門的配置文件 文件名隨便起記住就行 可是必須以 .sh 結尾
vim /etc/profile.d/mysql.sh
讀取一邊這個文件
source /etc/profile.d/mysql.shsocket

相關文章
相關標籤/搜索