Linux下mysql的原始碼編譯安裝
阿新 • • 發佈:2019-01-01
1>【安裝依賴包】
yum -y install make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel
2>【解壓mysql的原始碼安裝包到mysql_install_src目錄下】
cd /usr/local/mysql_install_src/
tar -zxvf mysql-boost-5.7.11.tar.gz
3>【建立mysql組和使用者】
groupadd mysql #建立mysql組
useradd -g mysql mysql #建立mysql組中的mysql使用者
4>【建立mysql的預設安裝目錄和資料儲存目錄】
#建立預設安裝目錄
mkdir /usr/local/LAMP/mysql
#建立資料儲存目錄
mkdir /usr/local/LAMP/mysql/data
5>【將第4步中建立的目錄的所有者許可權賦給mysql組和mysql使用者,並賦予相應許可權】
chown -R mysql:mysql /usr/local/LAMP/mysql
chown -R mysql:mysql /usr/local/LAMP/mysql/data
chmod 750 /usr/local/LAMP/mysql
6>【編譯並安裝mysql】
cd /usr/local /mysql_install_src/mysql-5.7.11
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/LAMP/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make
make install
7>【修改環境變數,讓我們在任意目錄下都可以使用mysql和mysqld命令】
vim /etc/profile # 在profile檔案末尾增加兩行
PATH=/usr/local/LAMP/mysql/bin/:/usr/local/LAMP/mysql/lib :$PATH
export PATH
# 退出並儲存profile
# 使PATH搜尋路徑立即生效:
source /etc/profile
注意:如果以前的PATH有內容,則只需在其原有內容後面新增一個冒號,再新增/usr/local/LAMP/mysql/bin/:/usr/local/LAMP/mysql/lib:
export也不用改變(一般裝完java後會因配置環境變數而出現這種情況)
8>【新增命令到系統中】
#複製啟動指令碼到init.d下
cp /usr/local/LAMP/mysql/support-files/mysql.server /etc/init.d/mysqld
#增加執行許可權
chmod 755 /etc/init.d/mysqld
#建立mysql命令檔案
ln -s /mysql/bin/mysql /usr/bin/
注:沒有這個檔案就沒有mysql命令,不能在任意位置使用mysql/bin下的各種命令訪問資料庫
9>【初始化資料庫】
/usr/local/LAMP/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/LAMP/mysql/ --datadir=/usr/local/LAMP/mysql/data
!!!!!!注:初始化後會生成預設密碼,千!萬!要!記!錄!下!來!。[Note] A temporary password is generated for [email protected]: kci!&aa?s8wE
10>【啟動mysql】
/usr/local/LAMP/mysql/bin/mysqld_safe --user=mysql &
執行完該命令後會出現如下提示資訊,該提示資訊無法關閉。
mysqld_safe Starting mysqld daemon with databases from /usr/local/LAMP/mysql/data
等待一會後,再開啟一個終端登入root使用者
11>【在新開啟的終端上登入mysql】
mysql -u root -p
回車後提示輸入密碼,輸入上面記錄下的密碼即可。
12>【修改mysql預設密碼】
#將MyNewPass替換為你要更改的密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
#修改密碼之後需要執行該語句才會儲存。
flush privileges;
#退出mysql
quit
#重啟mysqld後才會使重置的密碼生效
service mysqld restart