溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

發(fā)布時(shí)間:2021-09-18 14:09:03 來(lái)源:億速云 閱讀:125 作者:chen 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容主要講解“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置”吧!

  一、MySQL5.7主要特性:

   原生架構(gòu)支持centos7的Systemd

 (1.)更好的性能:對(duì)于多核的CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化、更好的innoDB存儲(chǔ)引擎。

 (2.)更為健壯的復(fù)制功能:復(fù)制帶來(lái)了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也

可以選擇使用MySQL數(shù)據(jù)庫(kù)。

 (3.)新增sys庫(kù):以后這會(huì)是DBA訪問(wèn)最頻繁的庫(kù)

 (4.)更好的優(yōu)化器:優(yōu)化器的代碼重構(gòu)的意義將在5.7版本及以后的版本中帶來(lái)巨大的改進(jìn)

oracle官方正在解決MySQL之前最大的難題,原生JSON類型的支持

注意:JSON(JavaScript object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式。

JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣

(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于閱讀和編寫,同時(shí)易于機(jī)器解析

和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。

JSON語(yǔ)法是JavaScript對(duì)象表示語(yǔ)法的子集

  • 數(shù)據(jù)在鍵值對(duì)中

  • 數(shù)據(jù)由逗號(hào)分隔

  • 花括號(hào)保存對(duì)象

  • 方括號(hào)保存數(shù)組

    用JSON編寫的文件,可以代替.yaml格式的文件。(dockerkubernetes中的用的到,創(chuàng)建RC)。

注:mysql-5.6.3 已經(jīng)支持了多線程的主從復(fù)制

二、源碼編譯安裝MySQL5.7

  1.系統(tǒng)環(huán)境:centos7.2x64位

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

因?yàn)閏entos7.2默認(rèn)安裝了mariadb-libs,所以先要卸載掉。

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

2.安裝相關(guān)依賴包

cmake:由于從MySQL5.5版本開始棄用了常規(guī)的configure編譯方法,所以需要CMAKE編譯器,用

于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。

Boot: 從Mysql5.7.5開始Boost庫(kù)是必需的,MySQL源碼中用到了C++的Boost庫(kù),要求必須安

裝boost1.59.0或以上版本。

GCC是Linux下的C語(yǔ)言編譯工具,MySQL源碼編譯完全由C和C++編寫,要求必須安裝GCC

bison:Linux下C/C++語(yǔ)法分析器

ncurses:字符終端處理庫(kù)

下載所需軟件:

    下載cmake-3.5.tar.gz http://www.cmake.org/download

     下載ncurses-5.9.tar.gzftp://ftp.gnu.org/gnu/ncurses/

     下載bison-3.0.4.tar.gzhttp://ftp.gnu.org/gnu/bison/

     下載mysql-5.7.13.tar.gz

           wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz

     下載Boost_1_59_0.tar.gz

            wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

3.安裝cmake及相關(guān)下載好的軟件 

    1.安裝cmake:

 怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

cmake -version  查看版本:

  怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

2.安裝ncurses:

 怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

3.安裝bison:

  怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

4.安裝boost:

因?yàn)閎oost是一個(gè)提前編譯好的軟件所以這里無(wú)需在進(jìn)行配置和編譯,所以直接移動(dòng)到指定的目錄即可直接使用。

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

4.創(chuàng)建MySQL用戶和用戶組及目錄

新建MySQL組合MySQL用戶,禁止登錄shell ,-r選項(xiàng):代表系統(tǒng)用戶

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

5.編譯安裝MySQL5.7.18

  (1.)解壓mysql源碼包:

 怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

   (2.)執(zhí)行cmake命令前進(jìn)行編譯配置:

  怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

注意:在mysql5.5-5.6版本中是不需要加上-DWITH_SYSTEMD=1參數(shù),否則會(huì)報(bào)錯(cuò)?。?!

   (3.)開始編譯安裝:

 怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

配置解釋:

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  :mysql安裝的根目錄

  -DMYSQL_DATADIR=/usr/local/mysql/data     :mysql數(shù)據(jù)庫(kù)文件存放目錄

 -DSYSCONFDIR=/etc  :mysql配置文件所在目錄

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

-DWITH_INNOBASE_STORAGE_ENGINE=1 :添加InnoDB引擎支持

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

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

-DWITH_PARTITION_STORAGE_ENGINE=1 :安裝支持?jǐn)?shù)據(jù)庫(kù)分區(qū)

-DEXTRA_CHARSETS=all   :使mysql支持所有的擴(kuò)展字符

-DDEFAULT_CHARSET=utf8 :設(shè)置mysql的默認(rèn)字符集為utf-8

-DDEFAULT_COLLATION=utf8_general_ci  :設(shè)置默認(rèn)字符集校對(duì)規(guī)則

-DWITH_SYSTEMD=1 :可以使用systemd控制mysql服務(wù)

-DWITH_BOOST=/usr/local/boost :指向boost庫(kù)所在目錄

注意:更多參數(shù)執(zhí)行: #cmake . -LH

為了加快編譯速度可以按照下面的方式去編譯安裝:

make  -j   $(grep  processor  /proc/cpuinfo  |  wc   -l )

-j  參數(shù)表示根據(jù)CPU核數(shù)指定編譯時(shí)的線程數(shù),可以加快編譯速度。默認(rèn)為1個(gè)線程編譯。

注意:若要重新運(yùn)行cmake配置,需要?jiǎng)h除CMakeCache.txt文件

#make  clean

#rm  -f   CMakeCache.txt

6.優(yōu)化MySQL的執(zhí)行路徑

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

7.設(shè)置權(quán)限并初始化MySQL系統(tǒng)授權(quán)表

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

注意: 以上root初始化操作時(shí)要加--initialize參數(shù),生成一個(gè)隨機(jī)密碼(注意保存密碼登錄時(shí)使用)

MySQL5.7.6之前的版本執(zhí)行這個(gè)腳本進(jìn)行初始化系統(tǒng)數(shù)據(jù)庫(kù):

/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

有密碼的初始化:

  #bin/mysqld --initialize   --user=mysql  --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data

無(wú)密碼的初始化:

#/usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data

8.創(chuàng)建配置文件

vim  /etc/my.cnf

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

以上服務(wù)器啟動(dòng)失敗,查看錯(cuò)誤日志文件

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

在mysqld.service,把默認(rèn)的pid文件指定到了/var/run/mysqld目錄,而并沒有事先建立該目錄,因此要手動(dòng)建立該目錄并把權(quán)限賦給MySQL用戶。(這種方法是臨時(shí)的,因?yàn)?var/run/下的目錄關(guān)機(jī)就沒有了)。

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

或者修改/usr/lib/system/system/mysqld.service:

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

#systemctl   daemon-reload

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置

到此,相信大家對(duì)“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫(kù)以及配置”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI