溫馨提示×

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

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

安裝MySQL 5.7.13

發(fā)布時(shí)間:2020-08-08 13:50:28 來源:網(wǎng)絡(luò) 閱讀:860 作者:WaveBlog 欄目:數(shù)據(jù)庫

安裝MySQL 5.7.13

一、簡介:

MySQL 5.7主要特性:

1、原生支持Systemd

2、更好的性能:對(duì)于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化

3、更好的lnnoDB存儲(chǔ)引擎

4、更為健壯的復(fù)制功能:復(fù)制帶來了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也可以選擇使用MySQL數(shù)據(jù)庫

5、MySQL-5.6.3以上版本已經(jīng)支持了多線程的主從復(fù)制

6、新增sys庫:以后這會(huì)是DBA訪問最平凡的庫

二、安裝MySQL 5.7.13

系統(tǒng)環(huán)境:Centos 7.2x86_64

1、安裝前準(zhǔn)備:

因?yàn)?/span>Centos 7.2默認(rèn)安裝了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、安裝相關(guān)依賴包

準(zhǔn)備以下安裝包

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

注:相關(guān)依賴包的作用

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

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

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

# bisonLinuxC/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版本:

安裝MySQL 5.7.13 

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)創(chuàng)建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/

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

[root@localhost mysql-5.7.13]# 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數(shù)據(jù)庫文件存放目錄

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

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

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

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

-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                ## 安裝支持?jǐn)?shù)據(jù)庫分區(qū)

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

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

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

[root@localhost mysql-5.7.13]# make clean

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

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

[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、設(shè)置權(quán)限并初始化MySQL系統(tǒng)授權(quán)表

[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

安裝MySQL 5.7.13 

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

5、創(chuàng)建配置文件

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

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

[root@localhost ~]# vim /etc/my.cnf        ##[mysqld]下面添加以下內(nèi)容

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自動(dòng)啟動(dòng)

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

<-- 注 -->因?yàn)?/span>mysqld.service 把默認(rèn)的pid文件指定到/var/run/mysqld目錄,而沒有事先建立目錄,所有這個(gè)時(shí)候啟動(dòng)mysql會(huì)失敗。兩種解決方法:

第一種方法:創(chuàng)建/var/run/mysqld目錄并設(shè)置屬主屬主為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

 安裝MySQL 5.7.13

[root@localhost ~]# systemctl daemon-reload

啟動(dòng)mysql服務(wù)

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

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

 安裝MySQL 5.7.13

查看端口號(hào)

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

 安裝MySQL 5.7.13

6、設(shè)置數(shù)據(jù)庫管理員用戶root密碼

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

注:這里-p選項(xiàng)中輸入初始化時(shí)生成的隨機(jī)密碼

訪問MySQL數(shù)據(jù)庫

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

 安裝MySQL 5.7.13

——到此MySQL 5.7.13安裝完成

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

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

AI