本篇內(nèi)容主要講解“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫以及配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫以及配置”吧!
成都創(chuàng)新互聯(lián)主營和平網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,和平h5小程序設(shè)計搭建,和平網(wǎng)站營銷推廣歡迎和平等地區(qū)企業(yè)咨詢
一、MySQL5.7主要特性:
原生架構(gòu)支持centos7的Systemd
(1.)更好的性能:對于多核的CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化、更好的innoDB存儲引擎。
(2.)更為健壯的復(fù)制功能:復(fù)制帶來了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也
可以選擇使用MySQL數(shù)據(jù)庫。
(3.)新增sys庫:以后這會是DBA訪問最頻繁的庫
(4.)更好的優(yōu)化器:優(yōu)化器的代碼重構(gòu)的意義將在5.7版本及以后的版本中帶來巨大的改進
oracle官方正在解決MySQL之前最大的難題,原生JSON類型的支持
注意:JSON(JavaScript object Notation)是一種輕量級的數(shù)據(jù)交換格式。
JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣
(包括C、C++、C#、Java、JavaScript、Perl、Python等)。
這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于閱讀和編寫,同時易于機器解析
和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON語法是JavaScript對象表示語法的子集
數(shù)據(jù)在鍵值對中
數(shù)據(jù)由逗號分隔
花括號保存對象
方括號保存數(shù)組
用JSON編寫的文件,可以代替.yaml格式的文件。(dockerkubernetes中的用的到,創(chuàng)建RC)。
注:mysql-5.6.3 已經(jīng)支持了多線程的主從復(fù)制
二、源碼編譯安裝MySQL5.7
1.系統(tǒng)環(huán)境:centos7.2x64位
因為centos7.2默認安裝了mariadb-libs,所以先要卸載掉。
2.安裝相關(guān)依賴包
cmake:由于從MySQL5.5版本開始棄用了常規(guī)的configure編譯方法,所以需要CMAKE編譯器,用
于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。
Boot: 從Mysql5.7.5開始Boost庫是必需的,MySQL源碼中用到了C++的Boost庫,要求必須安
裝boost1.59.0或以上版本。
GCC是Linux下的C語言編譯工具,MySQL源碼編譯完全由C和C++編寫,要求必須安裝GCC
bison:Linux下C/C++語法分析器
ncurses:字符終端處理庫
下載所需軟件:
下載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:
cmake -version 查看版本:
2.安裝ncurses:
3.安裝bison:
4.安裝boost:
因為boost是一個提前編譯好的軟件所以這里無需在進行配置和編譯,所以直接移動到指定的目錄即可直接使用。
4.創(chuàng)建MySQL用戶和用戶組及目錄
新建MySQL組合MySQL用戶,禁止登錄shell ,-r選項:代表系統(tǒng)用戶
5.編譯安裝MySQL5.7.18
(1.)解壓mysql源碼包:
(2.)執(zhí)行cmake命令前進行編譯配置:
注意:在mysql5.5-5.6版本中是不需要加上-DWITH_SYSTEMD=1參數(shù),否則會報錯!??!
(3.)開始編譯安裝:
配置解釋:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql :mysql安裝的根目錄
-DMYSQL_DATADIR=/usr/local/mysql/data :mysql數(shù)據(jù)庫文件存放目錄
-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 :安裝支持數(shù)據(jù)庫分區(qū)
-DEXTRA_CHARSETS=all :使mysql支持所有的擴展字符
-DDEFAULT_CHARSET=utf8 :設(shè)置mysql的默認字符集為utf-8
-DDEFAULT_COLLATION=utf8_general_ci :設(shè)置默認字符集校對規(guī)則
-DWITH_SYSTEMD=1 :可以使用systemd控制mysql服務(wù)
-DWITH_BOOST=/usr/local/boost :指向boost庫所在目錄
注意:更多參數(shù)執(zhí)行: #cmake . -LH
為了加快編譯速度可以按照下面的方式去編譯安裝:
make -j $(grep processor /proc/cpuinfo | wc -l )
-j 參數(shù)表示根據(jù)CPU核數(shù)指定編譯時的線程數(shù),可以加快編譯速度。默認為1個線程編譯。
注意:若要重新運行cmake配置,需要刪除CMakeCache.txt文件
#make clean
#rm -f CMakeCache.txt
6.優(yōu)化MySQL的執(zhí)行路徑
7.設(shè)置權(quán)限并初始化MySQL系統(tǒng)授權(quán)表
注意: 以上root初始化操作時要加--initialize參數(shù),生成一個隨機密碼(注意保存密碼登錄時使用)
MySQL5.7.6之前的版本執(zhí)行這個腳本進行初始化系統(tǒng)數(shù)據(jù)庫:
/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
無密碼的初始化:
#/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
以上服務(wù)器啟動失敗,查看錯誤日志文件
在mysqld.service,把默認的pid文件指定到了/var/run/mysqld目錄,而并沒有事先建立該目錄,因此要手動建立該目錄并把權(quán)限賦給MySQL用戶。(這種方法是臨時的,因為/var/run/下的目錄關(guān)機就沒有了)。
或者修改/usr/lib/system/system/mysqld.service:
#systemctl daemon-reload
到此,相信大家對“怎么在CentOS7下安裝MySQL5.7數(shù)據(jù)庫以及配置”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!