1,安裝前期工作。創建mysql用戶以及數據存放目錄
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir -p /data/mysql/
chown -R mysql.mysql /data/mysql/
安裝依賴包:
apt-get install build-essential libncurses5-dev cmake openssl* -y
2,前期工作做完,,准備下載源碼包編譯安裝和初始化。
到mysql官網http://dev.mysql.com/downloads/mysql/5.7.html下載通用源碼安裝包mysql 5.7.14,這裡我們直接下載帶有boost庫的安裝包,避免單獨去下載boost耽誤時間,之前沒有從這裡下載對應boost安裝包,踩了一個巨大的坑。哎,血的教訓!
2
下載完以後到服務器進行解壓編譯安裝,命令如下:
cd /usr/local/src
tar zxvf mysql-boost-5.7.14.tar.gz
cd mysql-5.7.14/
編譯參數如下
/usr/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \
-DMYSQL_DATADIR=/data/mysql57 \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3307 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql57/mysql.sock \
-DMYSQL_TCP_PORT=3307 -DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=system \
-DWITH_DEBUG=0 -DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost \
執行完以後 make && make install
注意這裡配置完以後會有root密碼顯示,記錄以後方便進去做更改密碼操作等。
安裝完成,設置環境變量,編輯/etc/profile
export PATH=/usr/local/mysql/bin:$PATH
設置以後需要source /etc/profile
數據庫初始化:
將提前設置好的my.cnf放到/etc/my.cnf ,後續需要加載這個配置文件,最好提前優化好。
cd /usr/local/mysql
mysqld --initialize --user=mysql
mysql_ssl_rsa_setup
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
mysqld_safe --skip-grant-tables &
後台運行以後單獨開一個窗口登錄mysql並初始化mysql的root密碼:
mysql -u root -p
SET PASSWORD = PASSWORD('123456');
所有操作步驟完成。測試是否都成功可以如下操作:
/etc/init.d/mysqld restart
mysql -u root -p12345
如果登錄沒問題則一切正常。
注:
1,如果root密碼忘記,那麼可以通過執行:
mysqld_safe --skip-grant-tables &
這樣再登錄就可以空密碼登錄了。執行
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
可以修改root的密碼。修改以後/etc/init.d/mysqld restart
注:如果登陸進去以後提示需要修改root密碼,可以執行:
SET PASSWORD = PASSWORD('123456');
2, 如果能apt-get就apt-get,需要注意備份/etc/mysql/my.cnf 不然以後重裝會覆蓋。