MySQL5.7.18 源碼安裝詳細步驟

MySQL5.7.18 源碼安裝詳細步驟

一:操作系統環境和目錄結構

[root@mysql3 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
[root@mysql3 ~]#
[root@mysql3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 16G 5.4G 9.6G 36% /
tmpfs 932M 0 932M 0% /dev/shm
/dev/sda1 79G 56M 75G 1% /data

注意,在安裝操作系統時,把cmake裝上。

二、獲取MySQL5.7.18源碼安裝包,並上傳至服務器。

MySQL官網下載地址:https://dev.mysql.com/downloads/mysql/

下載版本:mysql-boost-5.7.18.tar.gz
此版本帶有boost。

三、創建MySQL用戶以及MySQL數據庫目錄劃分

創建MySQL用戶:

groupadd -g 701 mysql

useradd -M -g mysql -u 1101 -s /sbin/nologin mysql #建立mysql賬號,-M不建立家目錄,-s自動以shell爲/sbin/nologin賬號不能登錄

(如若已存在MySQL用戶,在確定不影響其他功能的情況下,可將之刪除,並重建)

MySQL數據庫目錄劃分:

mysql軟件目錄: /data/mysql/installdir
mysql數據目錄:/data/mysql/datadir/3306/data
mysql日誌目錄:/data/mysql/logdir/3306/{bin_log,general_log,error_log,query_log}

[root@mysql3 ~]# mkdir -p /data/mysql/installdir
[root@mysql3 ~]# mkdir -p /data/mysql/datadir/3306/data
[root@mysql3 ~]# mkdir -p /data/mysql/logdir/3306/{bin_log,general_log,error_log,query_log}

[root@mysql3 data]# pwd
/data
[root@mysql3 data]# chown -R mysql:mysql mysql/

四、解壓MySQL並編譯並安裝

1.解壓MySQL安裝文件:

[root@mysql3 src]# pwd
/data/mysql/src
[root@mysql3 src]# ls
mysql-boost-5.7.18.tar.gz
[root@mysql3 src]# tar -xvf mysql-boost-5.7.18.tar.gz

2.進入解壓後的軟件目錄進行CMake,CMake的目的是生成makefile文件,爲下一步編譯做準備
如果之前編譯不成功,請執行以下命令:
make clean
rm CMakeCache.txt

進入解壓後的目錄:cd /data/mysql/src/mysql-5.7.18

cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/installdir \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='MySQL wenyi.huang' \
-DWITH_READLINE=ON \
-DWITH_BOOST=/data/mysql/src/mysql-5.7.18/boost \
-DSYSCONFDIR=/data/mysql/datadir/3306/data \
-DMYSQL_UNIX_ADDR=/data/mysql/datadir/3306/data/mysql.sock

[root@mysql3 mysql-5.7.18]# cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/installdir -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCOMPILATION_COMMENT='MySQL wenyi.huang' -DWITH_READLINE=ON -DWITH_BOOST=/data/mysql/src/mysql-5.7.18/boost -DSYSCONFDIR=/data/mysql/datadir/3306/data -DMYSQL_UNIX_ADDR=/data/mysql/datadir/3306/data/mysql.sock

注意:關於cmake編譯的參數可以到官網學習。https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

3.編譯並安裝

cd /data/mysql/src/mysql-5.7.18

make & make install

(注意:這步需要1.5個小時左右,請耐心等待)

4.配置my.cnf文件

vi /etc/my.cnf
[client]
port=3306
socket=/data/mysql/datadir/3306/data/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/data/mysql/datadir/3306/data/mysql.sock
pid-file=/data/mysql/datadir/3306/data/mysql.pid
basedir=/data/mysql/installdir
datadir=/data/mysql/datadir/3306/data
tmpdir=/data/mysql/tmpdir

log_error=/data/mysql/logdir/3306/error_log/mysql3.err

server-id = 1
log_bin = /data/mysql/logdir/3306/bin_log/binlog

general_log_file=/data/mysql/logdir/3306/general_log
general_log = 1

slow_query_log = ON
long_query_time = 2
slow_query_log_file = /data/mysql/logdir/3306/query_log
log_queries_not_using_indexes = ON

5.初始化數據庫

cd /data/mysql/installdir/bin

./mysqld --initialize --user=mysql --basedir=/data/mysql/installdir --datadir=/data/mysql/datadir/3306/data

[root@mysql3 bin]# ./mysqld --initialize --user=mysql --basedir=/data/mysql/installdir --datadir=/data/mysql/datadir/3306/data
2017-05-08T13:53:02.019530Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-08T13:53:03.084456Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-05-08T13:53:03.192605Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-05-08T13:53:03.335050Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a7cd6864-33f5-11e7-b4e5-000c29d7ab18.
2017-05-08T13:53:03.338753Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-05-08T13:53:03.341861Z 1 [Note] A temporary password is generated for root@localhost: hTdE.-th:5.g

6.安裝ssl,可指定文件生成路徑,默認爲DATA裏面

cd /data/mysql/installdir/bin

./mysql_ssl_rsa_setup

[root@mysql3 bin]# ./mysql_ssl_rsa_setup
Generating a 2048 bit RSA private key
.........................+++
..................+++
writing new private key to 'ca-key.pem'

Generating a 2048 bit RSA private key
..............................................................................+++
...............................................+++
writing new private key to 'server-key.pem'

Generating a 2048 bit RSA private key
........+++
................+++
writing new private key to 'client-key.pem'

生成的文件在/data/mysql/datadir/3306/data目錄下

7.啓動數據庫

./mysqld_safe --defaults-file=/etc/my.cnf &


cp /data/mysql/installdir/support-files/mysql.server /etc/init.d/mysqld

/etc/init.d/mysqld start

8.登陸客戶端,建庫建表建用戶。

./mysql -uroot -p
hTdE.-th:5.g

alter user 'root'@'localhost' identified by 'root@20170508';

CREATE DATABASE HWYDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use HWYDB;
create table hwy( nid int not null auto_increment primary key, name varchar(32) not null, email varchar(64) not null, extra text, unique ix_name (name) );

grant SELECT,INSERT,UPDATE,DELETE on HWYDB.* to 'dbadmin'@'172.16.115.%' identified by 'dbadmin@20170508';

至此,MySQL5.7.18源碼安裝完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章