手工編譯安裝Mysql5.7
MySQL5.7源碼包鏈接:https://pan.baidu.com/s/1NZuZSzjBwbXT3_H3LvDQAg 密碼:3itt
c++運行庫包鏈接:https://pan.baidu.com/s/1Mqe5icXnlymb1fGvMUawkA 密碼:peiq
一、安裝環境
yum install gcc gcc-c++ ncurses-devel bison cmake -y #安裝所需要的環境
二、源碼編譯及安裝
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0/ /usr/local/boost #將boost安裝包解壓到usr/local下,並且改名為boost
useradd -M -s /sbin/nologin mysql #創建一個管理MySQL的進程用戶,名字就mysql
tar zxvf mysql-5.7.17.tar.gz -C /opt/ #將mysql源碼包解壓到/opt目錄下
cd mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝目錄
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #連接文件
-DSYSCONFDIR=/etc \ #mysql配置文件存放目錄
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #進程文件存放目錄
-DDEFAULT_CHARSET=utf8 \ #指定默認字符集編碼
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存儲引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安裝PERFSCHEMA存儲引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放目錄
-DWITH_BOOST=/usr/local/boost \ #指定boost庫的位置
-DWITH_SYSTEMD=1 #讓系統可以管理mysql數據庫
make && make install #對文件進行編譯和安裝,這個過程會很長,這裏要註意存放mysql的/opt目錄至少為10個G,不然最後沒法進行安裝
三、對數據庫目錄進行權限配置
chown -R mysql.mysql /usr/local/mysql/ #更改mysql目錄的屬主和屬組
四、配置主配置文件
vim /etc/my.cnf #更改主配置文件
[client]
port = 3306 #指定可以連接的客戶機的端口
default-character-set=utf8 #指定字符集
socket = /usr/local/mysql/mysql.sock #指定連接文件
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld] #這裏在配置時要先刪除原有的【mysqld】模塊
user = mysql #管理用戶
basedir = /usr/local/mysql #工作目錄
datadir = /usr/local/mysql/data #數據庫文件存放目錄
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid #指定PID進程文件
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES #在文件末尾插入這段話
chown mysql:mysql /etc/my.cnf #更改mysql配置文件的屬主和屬組
五、初始化數據庫
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #初始化數據庫
六、設置環境變量
export PATH=$PATH:/usr/local/mysql/bin/ #將mysql目錄下的文件添加到環境變量下
七、添加系統服務
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #將mysql的啟動腳本添加到系統服務中
systemctl daemon-reload #開啟該服務的守護進程
systemctl start mysqld #開啟服務
netstat -anpt | grep 3306 #可以看到mysql的3306端口已經打開
tcp6 0 0 :::3306 :::* LISTEN 69684/mysqld
八、訪問MySQL數據庫
mysql -u root -p #使用該命令進行登錄
Enter password: #因為我沒設置密碼,所以這裏直接回車就行
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> #可以看到現在已經在mysql數據庫下
手工編譯安裝Mysql5.7