1. 程式人生 > >CetOS7.4手工編譯安裝mysql-5.7.17(內附源碼包)

CetOS7.4手工編譯安裝mysql-5.7.17(內附源碼包)

關系數據庫 寫入 blog 源碼 _for login .so charset file

簡介

MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle旗下產品。MySQL是最流行的關系型數據庫管理系統之一,在WEB應用方面,MySQL是最好的關系數據庫管理系統應用軟件。MySQL是一種關系數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL所使用的SQL語言是用於訪問數據庫的最常用標準化語言。MySQL軟件采用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL作為網站數據庫。

實驗環境

系統環境:centos7.4

服務器IP地址:192.168.100.71
yum掛載目錄:/mnt/sr0
相關源碼包下載地址:百度雲下載   密碼:r26y

建步驟

1、添加新硬盤作為解壓目錄

[root@redhat7_5 ~]# fdisk /dev/sdb
技術分享圖片

[root@redhat7_5 ~]# mkfs.ext4 /dev/sdb1 #格式化分區,寫入系統文件

[root@redhat7_5 ~]# mount /dev/sdb1 /opt/ #掛載至解壓目錄下
[root@redhat7_5 ~]# df -h
技術分享圖片

2、安裝相關依賴包

[root@redhat7_5 ~]# mount /dev/sr0 /mnt/sr0/ #掛在光盤
[root@redhat7_1 ~]# yum -y install \

ncurses \
ncurses-devel \
bison \
cmake

3、創建進程用戶

[root@redhat7_1 ~]# useradd -s /sbin/nologin mysql

4、解壓相應源碼包

[root@redhat7_1 ~]# tar zxvf mysql-5.7.17.tar.gz -C /opt/
[root@redhat7_1 ~]# tar zxvf boost_1_59_0.tar.gz -C /usr/local/

[root@redhat7_1 ~]# cd /usr/local/
[root@redhat7_1 local]# mv boost_1_59_0 boost

5、安裝mysql

[root@redhat7_1 ~]# cd /opt/mysql-5.7.17/
[root@redhat7_1 ~]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

註意:如果在CMAKE的過程中有報錯,當報錯解決後,需要把源碼目錄中的CMakeCache.txt文件刪除,然後再重新CMAKE,否則錯誤依舊

[root@redhat7_1 mysql-5.7.17]# make && make install #時間稍慢,要等待……

6、修改mysql權限

[root@redhat7_1 ~]# chown -R mysql:mysql /usr/local/mysql/

7、編輯主配置文件

[root@redhat7_1 ~]# 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]

user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.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

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

8、相關優化

[root@redhat7_1 ~]# chown mysql:mysql /etc/my.cnf
[root@redhat7_1 ~]# echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
[root@redhat7_1 ~]# echo ‘export PATH‘ >> /etc/profile
[root@redhat7_1 ~]# source /etc/profile

9、初始化服務

[root@redhat7_1 ~]# cd /usr/local/mysql/
[root@redhat7_1 mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

10、啟動服務

[root@redhat7_1 ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

[root@redhat7_1 ~]# systemctl daemon-reload
[root@redhat7_1 ~]# systemctl start mysqld
[root@redhat7_1 ~]# systemctl enable mysqld
[root@redhat7_1 ~]# netstat -anpt | grep 3306

11、登錄mysql

[root@redhat7_1 ~]# mysqladmin -u root -p password ‘123‘
[root@redhat7_1 ~]# mysql -u root -p123
技術分享圖片

CetOS7.4手工編譯安裝mysql-5.7.17(內附源碼包)