MySQL 5.7編譯安裝
提示:下面的“#”不是命令的一部分辕近,在輸入命令的時候請忽略隐孽。
1、關(guān)閉SELinux并重啟計算機(jī)
# vim /etc/selinux/config,然后找到SELINUX=enforcing缨睡,把enforcing改為permissive和二。接著保存并退出徘铝,然后重啟電腦。
2、關(guān)閉防火墻
# service iptabels stop
3惕它、安裝必備的工具
# yum -y install gcc gcc-c++ make zlib openssl openssl-devel ncurses-devel cmake bison
4场晶、下載boost庫,這是MySQL 5.7必須的庫怠缸,目前版本要求是1.59.0版本
將下載好的boost_1_59_0.tar上傳到你的工作目錄诗轻,我上傳的目錄是/root中。你可以使用pwd命令查看當(dāng)前的路徑揭北。
5扳炬、解壓boost_1_59_0.tar到/tmp目錄。
# tar -xvzf boost_1_59_0.tar.gz && mv boost_1_59_0 /tmp
6搔体、下載MySQL 5.7源碼包并解壓到工作目錄
# tar -xvzf mysql-5.7.17.tar.gz && rm -f mysql-5.7.17.tar.gz && cd mysql-5.7.17
7恨樟、創(chuàng)建一些必要的用戶、組和目錄
# groupadd mysql
# useradd -g mysql mysql
# mkdir -p /usr/local/mysql/data && chown -R mysql:mysql /usr/local/mysql/data
8疚俱、現(xiàn)在你是處于mysql-5.7.17目錄中劝术,執(zhí)行安裝前環(huán)境檢測,注意以下是一條命令而不是多條
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/tmp/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
環(huán)境執(zhí)行完請檢查屏幕輸出的最后5行左右是否有error字樣呆奕,如果有請不要繼續(xù)后面的步驟养晋。
9、進(jìn)行編譯
# make
環(huán)境執(zhí)行完請檢查屏幕輸出的最后5行左右是否有error字樣梁钾,如果有請不要繼續(xù)后面的步驟绳泉。
10、安裝
# make install
到這里請關(guān)機(jī)姆泻,然后給虛擬機(jī)打個快照
11零酪、配置mysql啟動腳本
請使用pwd確保當(dāng)前還是在mysql-5.7.17目錄中
# cp ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld && chkconfig mysqld on
12、修改配置文件
# vim /etc/my.cnf
修改成下面的樣子
13拇勃、初始化mysql
# cd /usr/local/mysql
# ./bin/mysqld --initialize --user=mysql TVu/GQkiR1#u
這里會輸出以下內(nèi)容四苇,請注意看,這里有一個root的隨機(jī)初始化密碼方咆,需要先記下來
這里的隨機(jī)密碼就是:CP!ER+=v)63w
14月腋、修復(fù)權(quán)限
# chown -R mysql:mysql /usr/local/mysql/data
15、配置環(huán)境變量
# vim ~/.bashrc
在文件末尾加入以下代碼并保存
讓環(huán)境變量立即生效
# source ~/.bashrc
16峻呛、啟動mysqld服務(wù)
# service mysqld restart
可以通過netstat -tulnp | grep mysqld查看監(jiān)聽的端口
17罗售、進(jìn)入mysql
# mysql -u root? -p
然后輸入密碼CP!ER+=v)63w
18、修改user@localhost用戶的密碼
ALTER USER root@localhost identified by '123456';
這個是修改本地的root用戶的密碼钩述,之后就不用那個隨機(jī)密碼寨躁,太難輸入了。
19牙勘、創(chuàng)建用戶并授予遠(yuǎn)程訪問
CREATE USER root@'%' (注意這里沒有分號职恳,因為還要繼續(xù)輸入所禀,可以回車的)
IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
到此安裝結(jié)束...