安裝軟體依賴包
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
下載下傳軟體包
cd /usr/local/src
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.13.tar.gz --no-check-certificate
下載下傳 boost 庫,MySQL 5.7.5 開始Boost庫是必需的
cd /usr/local/
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz --no-check-certificate
tar zxvf boost_1_59_0.tar.gz
建立安裝使用者
useradd -M -s /sbin/nologin mysql
建立安裝目錄
mkdir -p /usr/local/mysql
建立資料目錄
mkdir /mysql3306
建立配置檔案目錄
mkdir -p /usr/local/mysql/etc
建立資料庫日志目錄
mkdir -p /usr/local/mysql/logs
編譯安裝
cd /usr/local/src
tar zxvf mysql-5.7.13.tar.gz
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql3306/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0
make && make install
生成配置檔案
建立 配置檔案目錄
mkdir -p /usr/local/mysql/etc
cp support-files/my-default.cnf etc/my.cnf
編輯配置檔案
<a href="https://s1.51cto.com/wyfs02/M00/94/FD/wKiom1kQaqmRje_QAABGw-Snr6c524.png-wh_500x0-wm_3-wmp_4-s_2431121535.png" target="_blank"></a>
修改安裝目錄的權限
chown -R mysql:mysql /usr/local/mysql/
拷貝配置檔案的啟動腳本
cp /app/mysql/mysql/support-files/mysql.server /etc/init.d/mysqld
将mysql 指令加入到環境變量
export PATH=$PATH:/usr/local/mysql/bin
<a href="https://s4.51cto.com/wyfs02/M00/94/FD/wKiom1kQZkuRrBIjAAAdFTmDdr4447.png-wh_500x0-wm_3-wmp_4-s_4273069702.png" target="_blank"></a>
source /etc/profile
初始化資料庫設定
./mysqld --initialize-insecure
啟動資料庫
/etc/init.d/mysqld start
資料庫報錯
/etc/init.d/mysqld start
Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql/mysqld.pid).
檢視錯誤日志
<a href="https://s3.51cto.com/wyfs02/M02/94/FD/wKioL1kQayfjGS8ZAABeLQO1RCo053.png-wh_500x0-wm_3-wmp_4-s_2524963477.png" target="_blank"></a>
解決方法
chown -R mysql:mysql /mysql3306
登入并檢視資料庫,預設安裝完的資料庫沒有密碼
<a href="https://s1.51cto.com/wyfs02/M02/94/FD/wKioL1kQa7DT79wjAAAdd5V1PQE614.png-wh_500x0-wm_3-wmp_4-s_3709029298.png" target="_blank"></a>
給資料庫設定密碼
版本更新後,原來user裡的password字段已經變更為authentication_string
登入MySQL
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
登入驗證
<a href="https://s2.51cto.com/wyfs02/M01/94/FE/wKiom1kQbPXBjh0nAABbgRXAUqA413.png-wh_500x0-wm_3-wmp_4-s_2494590542.png" target="_blank"></a>
本文轉自 水滴石川1 51CTO部落格,原文連結:http://blog.51cto.com/sdsca/1923430,如需轉載請自行聯系原作者