溫馨提示×

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

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

centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

發(fā)布時(shí)間:2020-04-07 03:28:15 來(lái)源:網(wǎng)絡(luò) 閱讀:1157 作者:丁香花下 欄目:MySQL數(shù)據(jù)庫(kù)

mysql簡(jiǎn)介:
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),目前屬于Oracle公司。
MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。

實(shí)驗(yàn)環(huán)境:centos7一臺(tái),NAT模式
虛擬機(jī)掛載編譯的目錄大小不能小于8G這樣,建議添加一塊磁盤,掛載到本   地進(jìn)行編譯安裝

鏈接:https://pan.baidu.com/s/1XFej_DoR3bXkCiTxFqhVOQ 密碼:amv1 
boost源碼包地址
鏈接:https://pan.baidu.com/s/1L4Saf17boqWTAqmm9mKWrw 密碼:dhjk
mysql5.7源碼包地址

注意事項(xiàng):編譯所需要的存儲(chǔ)空間不少于7G,建議虛擬機(jī)添加磁盤掛載編譯

1、安裝編譯環(huán)境包如下:

yum install ncurses ncurses-devel bison cmake gcc gcc-c++ -y

2、創(chuàng)建mysql用戶

useradd -s /sbin/nologin mysql

3、掛載宿主機(jī)文件夾,解壓包

mount.cifs //192.168.60.1/linuxbage /root/abc
tar zxvf mysql-5.7.17.tar.gz -C /abc/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/

4、更改boost目錄名,方便編譯縮寫(xiě)
cd /usr/local/        //到解壓的目錄下
mv boost_1_59_0 boost      /將boost改名

5、到mysql解壓的目錄下

cd /root/abc
編譯參數(shù)如下
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

6、make && make install

7、chown -R mysql.mysql /usr/local/mysql/         變更mysql屬主屬組

8、更改配置文件

vim /etc/my.cnf

centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

針對(duì)不同區(qū)域進(jìn)行配置
client] 客戶端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 客戶端連接服務(wù)端的連接目錄

[mysql] 服務(wù)端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 連接目錄

[mysqld] 針對(duì)于服務(wù)本身而言進(jìn)行設(shè)定
user = mysql 管理用戶是mysql
basedir = /usr/local/mysql 工作目錄路徑
datadir = /usr/local/mysql/data 數(shù)據(jù)庫(kù)文件路徑,會(huì)自動(dòng)生成
port = 3306 端口3306
character_set_server=utf8 字符集
pid-file = /usr/local/mysql/mysqld.pid pid進(jìn)程文件
socket = /usr/local/mysql/mysql.sock 連接目錄
server-id = 1 server id

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,
NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

9、修改my.cnf的屬主屬組,添加環(huán)境變量
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

10、初始化數(shù)據(jù)庫(kù)

cd /usr/local/mysql/

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

11、復(fù)制啟動(dòng)腳本

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service  /usr/lib/systemd/system/

12、啟動(dòng)mysql
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

systemctl daemon-reload
systemctl start mysqld
netstat -anpt | grep 3306
systemctl enable mysqld

13、設(shè)置登陸密碼

mysqladmin -u root -p password "abc123"

14、登陸mysql,查看數(shù)據(jù)庫(kù)
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

15、設(shè)置權(quán)限,實(shí)現(xiàn)遠(yuǎn)程登陸

grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option;
centos7手工編譯mysql5.7數(shù)據(jù)庫(kù)詳解(附源碼包)

end~

向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