在CentOS 7上安裝MySQL5.7的詳細步驟

文本編輯器 MySQL CentOS Systemd 憑一口氣點一盞燈 2017-04-01

在CentOS 7上安裝MySQL5.7的詳細步驟

圖片來源於網絡

一、簡介:

MySQL 5.7主要特性:

1、原生支持Systemd

2、更好的性能:對於多核CPU、固態硬盤、鎖有著更好的優化

3、更好的lnnoDB存儲引擎

4、更為健壯的複製功能:複製帶來了數據完全不丟失的方案,傳統金融客戶也可以選擇使用MySQL數據庫

5、MySQL-5.6.3以上版本已經支持了多線程的主從複製

6、新增sys庫:以後這會是DBA訪問最平凡的庫


二、安裝MySQL 5.7.13

系統環境:Centos 7.2x86_64

1、安裝前準備:

因為Centos 7.2默認安裝了mariadb-libs,所以要先卸載掉

[root@localhost ~]# rpm -aq | grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

[root@localhost ~]# rpm -e mariadb-libs --nodeps

2、安裝相關依賴包

準備以下安裝包

bison-3.0.4.tar.gz

cmake-3.5.2.tar.gz

mysql-5.7.13.tar.gz

boost_1_59_0.tar.gz

ncurses-5.9.tar.gz

注:相關依賴包的作用

# cmake:由於從MySQL5.5版本開始棄用了常規的configure編譯方法,所以需要cmake編譯器,用於設置mysql的編譯參數。(如:安裝目錄,數據存放目錄,字符編碼,排序規則等)

# boost:從MySQL5.7.5開始Boost庫是必需的,mysql源碼中用到了C++的Boost庫,要求必需安裝Boost1.59.0或以上版本。

# GCC:這是Linux下的C語言編譯工具,MySQL源碼編譯完全由C和C++編寫,要求必需安裝GCC。

# bison:Linux下C/C++語法分析器。

# ncurses:字符終端處理庫。


1)安裝cmake

[root@localhost ~]# tar zxf cmake-3.5.2.tar.gz

[root@localhost ~]# cd cmake-3.5.2/

[root@localhost cmake-3.5.2]# ./bootstrap

[root@localhost cmake-3.5.2]# gmake && gmake install

2)查看cmake版本:

在CentOS 7上安裝MySQL5.7的詳細步驟

查看cmake版本

3)安裝ncurses

[root@localhost ~]# tar zxf ncurses-5.9.tar.gz

[root@localhost ~]# cd ncurses-5.9/

[root@localhost ncurses-5.9]# ./configure && make && make install

4)安裝bison

[root@localhost ~]# tar zxf bison-3.0.4.tar.gz

[root@localhost ~]# cd bison-3.0.4/

[root@localhost bison-3.0.4]# ./configure && make && make install

5)安裝boost

[root@localhost ~]# tar zxf boost_1_59_0.tar.gz

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

6)創建mysql用戶和用戶組及目錄

[root@localhost ~]# groupadd -r mysql

[root@localhost ~]# useradd -r -g mysql -s /bin/false -M mysql

[root@localhost ~]# mkdir -p /usr/local/mysql/data


3、編譯安裝MySQL

解壓mysql源碼包

[root@localhost ~]# tar zxf mysql-5.7.13.tar.gz

[root@localhost ~]# cd mysql-5.7.13/

執行cmake命令進行編譯前配置

[[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost

<-- 注 -->:配置解釋:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ## MySQL安裝根目錄

-DMYSQL_DATADIR=/usr/local/mysql/data ## MySQL數據庫文件存放目錄

-DSYSCONFDIR=/etc ## MySQL配置文件所在目錄

-DDEFAULT_CHARSET=utf8 ## 設置Mysql默認字符集為utf-8

-DDEFAULT_COLLATION=utf8_general_ci ## 設置默認字符集校對規則

-DEXTRA_CHARSETS=all ## 使MySQL支持所有的擴展字符

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock ## 指定mysql.sock位置

-DWITH_MYISAM_STORAGE_ENGINE=1 ## 添加MYISAM引擎支持

-DWITH_INNOBASE_STORAGE_ENGINE=1 ## 添加lnnoDB引擎支持

-DWITH_ARCHIVE_STORAGE_ENGINE=1 ## 添加ARCHIVE引擎支持

-DWITH_PARTITION_STORAGE_ENGINE=1 ## 安裝支持數據庫分區

-DWITH_SYSTEMD=1 ## 可以使用systemd控制mysql服務

-DWITH_BOOST=/usr/local/boost ## 指向boost庫所在目錄

開始編譯及編譯安裝

[root@localhost mysql-5.7.13]# make && make install

<-- 注 -->:加快編譯速度的方法:

[root@localhost mysql-5.7.13]# make -j $(grep processor /proc/cpuinfo |wc -l) && make install

-j:參數表示根據CPU核數指定編譯時的線程數,可以加快編譯速度(默認為1個線程數)

<-- 注 -->:若要重新運行cmake配置,則需要刪除CMakeCache.txt文件:

[root@localhost mysql-5.7.13]# make clean

[root@localhost mysql-5.7.13]# rm -f CMakeCache.txt

優化MySQL的執行路徑

[root@localhost mysql-5.7.13]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

[root@localhost mysql-5.7.13]# source /etc/profile

4、設置權限並初始化MySQL系統授權表

[root@localhost ~]# cd /usr/local/mysql/

[root@localhost mysql]# chown -R mysql:mysql .

[root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local --datadir=/usr/local/mysql/data

在CentOS 7上安裝MySQL5.7的詳細步驟

<-- 注 -->:以root初始化操作系統時要加--user=mysql參數,生成一個隨機密碼。(需記住登入時要用)

5、創建配置文件

[root@localhost mysql]# cd support-files/

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf ## 在[mysqld]下面添加以下內容

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

server_id = 1

socket = /usr/local/mysql/mysql.sock

log-error = /usr/local/mysql/data/mysqld.err

6、配置mysql自動啟動

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

<-- 注 -->:因為mysqld.service 把默認的pid文件指定到/var/run/mysqld目錄,而沒有事先建立目錄,所有這個時候啟動mysql會失敗。兩種解決方法:

第一種方法:創建/var/run/mysqld目錄並設置屬主屬主為mysql

root@localhost ~]# mkdir /var/run/mysqld

[root@localhost ~]# chown -R mysql:mysql /var/run/mysqld/

第二種方法:修改/usr/lib/system/system/mysqld.service

[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service

在CentOS 7上安裝MySQL5.7的詳細步驟

[root@localhost ~]# systemctl daemon-reload

啟動mysql服務

[root@localhost ~]# systemctl start mysqld.service

[root@localhost ~]# systemctl status mysqld.service

在CentOS 7上安裝MySQL5.7的詳細步驟

mysql正在運行

查看端口號

[root@localhost ~]# netstat -anpt |grep mysqld

在CentOS 7上安裝MySQL5.7的詳細步驟

6、設置數據庫管理員用戶root密碼

[root@localhost ~]# mysqladmin -uroot -p'=hJ?V:?9vQ-Q' password 123.com

注:這裡-p選項中輸入初始化時生成的隨機密碼

訪問MySQL數據庫

[root@localhost ~]# mysql -u root -p

在CentOS 7上安裝MySQL5.7的詳細步驟

——到此MySQL 5.7.13安裝完成

相關推薦

推薦中...