您好,登錄后才能下訂單哦!
基于rhel7.2的mysql5.7.13安裝與配置
一、實(shí)驗(yàn)環(huán)境:
(1)虛擬機(jī):vmware workstation 12
(2)操作系統(tǒng):rhel 7.2 X86_64
(3)數(shù)據(jù)庫:mysql5.7.13
二、MySQL 5.7主要特性:
原生支持Systemd
更好的性能:對于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化
更好的InnoDB存儲引擎
更為健壯的復(fù)制功能:復(fù)制帶來了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也可以選擇使用MySQL數(shù)據(jù)庫。
注:從mysql5.6.3版本開始就已經(jīng)支持了多線程的主從復(fù)制
新增sys庫:以后這會是DBA訪問最頻繁的庫
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個版本及以后的版本中帶來巨大的改進(jìn),Oracle官方正在解決MySQL之前最大的難題原生JSON類型的支持(JavaScript Object Notation)
注:JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON 語法是 JavaScript 對象表示語法的子集。
數(shù)據(jù)在鍵值對中
數(shù)據(jù)由逗號分隔
花括號保存對象
方括號保存數(shù)組
用JSON編寫的文件,可以代替.yaml格式的文件。(docker kubernetes中用的到,創(chuàng)建RC)。
三、查看并刪除系統(tǒng)自帶的數(shù)據(jù)庫
[root@localhost ~]# uname -r
3.10.0-327.el7.x86_64
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)
[root@localhost ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.44-2.el7.x86_64
[root@localhost ~]# rpm -e mariadb-libs --nodeps
[root@localhost ~]# rpm -qa |grep mariadb
注:因?yàn)閏entos7.2默認(rèn)安裝了mariadb-libs,所以先要卸載掉
先查看本系統(tǒng)是否安裝mariadb。從linux7版本開始不再支持mysql的rpm包安裝,所以系統(tǒng)盤內(nèi)不再有mysql的rpm包,同時從linux7版本開始,系統(tǒng)會默認(rèn)安裝mariadb-libs數(shù)據(jù)庫,我們再安裝mysql數(shù)據(jù)庫會發(fā)生沖突,所以我們要先卸載mariadb-libs數(shù)據(jù)庫。
四、依賴包下載
(1)相關(guān)依賴包的作用
cmake:由于從MySQL5.5版本開始棄用了常規(guī)的configure編譯方法,所以需要CMake編譯器,用于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。
Boost:從MySQL 5.7.5開始Boost庫是必需的,mysql源碼中用到了C++的Boost庫,要求必須安裝boost1.59.0或以上版本
GCC:是Linux下的C語言編譯工具,mysql源碼編譯完全由C和C++編寫,要求必須安裝GCC
bison:Linux下C/C++語法分析器
ncurses:字符終端處理庫
(2)安裝文件準(zhǔn)備
下載cmake-3.5.tar.gz
下載ncurses-5.9.tar.gz
下載bison-3.0.4.tar.gz
下載mysql-5.7.13.tar.gz
下載Boost_1_59_0.tar.gz
五、依賴包安裝
(1)安裝cmake
[root@localhost ~]# cd /usr/src
[root@ src]# tar -zxvf cmake-3.5.2.tar.gz
[root@ src]# cd cmake-3.5.2
[root@ cmake-3.5.2]# ./bootstrap && gmake && gmake install
注:如果上一步報錯,請安裝如下包:
[root@localhost cmake-3.5.2]# yum install -y gcc
[root@localhost cmake-3.5.2]# yum install -y gcc-c++.x86_64
cmake –version ---查看cmake版本
[root@ cmake-3.5.2]# cmake -version
cmake version 3.5.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
(2)安裝ncurses
[root@ src]# tar zxvf ncurses-5.9.tar.gz
[root@ ncurses-5.9]# ./configure && make && make install
(3)安裝bison
[root@ src]# tar -zxvf bison-3.0.4.tar.gz
[root@ src]# cd bison-3.0.4
[root@ bison-3.0.4]# ./configure && make && make install
注:如果上一步報錯,如下:
報錯1::checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
安裝:
[root@localhost bison-3.0.4]# yum install -y m4.x86_64
報錯2:configure: error: perl not found
[root@localhost bison-3.0.4]# yum install -y perl.x86_64
(4)安裝bootst
[root@ src]# tar -zxvf boost_1_59_0.tar.gz
[root@ src]# mv boost_1_59_0 /usr/local/boost
六、創(chuàng)建mysql用戶和用戶組及目錄
(1)創(chuàng)建mysql用戶和用戶組
[root@ ~]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
注:上述命令的意思是:新建mysql組和mysql用戶禁止登錄shell,上述命令也可以寫成如下形式:
useradd -r -s /sbin/nologin -M mysql
-r表示創(chuàng)建系統(tǒng)組成或系統(tǒng)賬戶。
查看一下所創(chuàng)建的mysql賬戶:
[root@localhost ~]# cat /etc/passwd |grep mysql
mysql:x:996:994::/home/mysql:/bin/false
(2)創(chuàng)建mysql安裝目錄
[root@ ~]# mkdir /usr/local/mysql
(3)創(chuàng)建數(shù)據(jù)庫所在目錄
[root@ ~]# mkdir /usr/local/mysql/data
七、編譯安裝mysql并優(yōu)化
(1)解壓mysql
[root@ src]# tar -zxvf mysql-5.7.13.tar.gz
(2)編譯安裝mysql
[root@ src]# cd mysql-5.7.13
[root@ mysql-5.7.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_PARTITION_STORAGE_ENGING=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=uft8 -DDEFAULT_COLLATION=uft8_general_ci -DWITH-SYSTEMD=1 -DWITH_BOOST=/usr/local/boost && make && make install
注:上面加粗字體不要寫!
注:若要重新運(yùn)行cmake配置,需要刪除CMakeCache.txt文件(即前面的配置、編譯、安裝后發(fā)現(xiàn)有錯誤,我們這時候無須重頭來只需要刪除CMakeCache.txt文件)
步驟如下:
(3)優(yōu)化Mysql的執(zhí)行路徑:
[root@ mysql-5.7.13]# vim /etc/profile
在最下面添加:export PATH=$PATH:/usr/local/mysql/bin
[root@ mysql-5.7.13]# source /etc/profile
(4)設(shè)置權(quán)限并初始化MySQL系統(tǒng)授權(quán)表
[root@ ~]# chown -R mysql:mysql /usr/local/mysql/
初始化數(shù)據(jù)庫,命令:
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注:上圖中mysql生成一個默認(rèn)密碼:rY9V)w5ixjhL
說明:(5.7.6版本以后的可采用安裝模式或者可以使用非安裝模式)
(5)以防萬一,再次改一下屬主和屬組
(6)創(chuàng)建配置文件
修改my.cnf配置文件:
(7)配置mysql開機(jī)自啟動
[root@localhost ~]# cd /usr/lib/systemd/system/
[root@localhost system]# vim mysqld.service
配置文件如下:
[Unit]
Description=MySQL Server
After=network.target
[Service]
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --socket=/usr/local/mysql/mysql.sock
User=mysql
Group=mysql
[Install]
WantedBy=multi-user.target
退出,保存!
[root@localhost system]# systemctl daemon-reload ##重新載入systemd,掃描新的或者有變動的單元,使其生效。
(8)再次啟動mysql,并查看狀態(tài)
[root@localhost system]# systemctl start mysqld.service
[root@localhost system]# systemctl status mysqld.service
[root@localhost mysql]# ps -ef |grep mysqld
[root@localhost mysql]# netstat -lnp |grep mysql
八、訪問數(shù)據(jù)庫:
(1)使用默認(rèn)密碼登入數(shù)據(jù)庫
[root@localhost mysql]# mysql -u root -p 'rY9V)w5ixjhL'
(2)修改數(shù)據(jù)庫密碼
mysql> mysqladmin -uroot -p'rY9V)w5ixjhL' password'123456'
注:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。