原始碼編譯安裝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 -a
二 安裝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存盤引擎
#錯誤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"
#錯誤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.txt
9 檢測并安裝mysql
make
10安裝mysql
make install
10修改/usr/local/mysql/的屬主/組
chown -R root.mysql /usr/local/mysql/
三初始化資料庫
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初始密碼
#錯誤1、[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.sh
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2229.html
標籤:其他
上一篇:Linux CentOS7
