MySQL 8.0 CENTOS 7環(huán)境編譯安裝

這個blog绪穆,我們來聊聊MySQL 8.0在CENTOS 7 環(huán)境下的安裝

Linux先安裝MySQL的方法有多種:
1.倉庫安裝(yum,apt,zypper)
2.二進(jìn)制包安裝(rpm,deb)
3.docker安裝
4.壓縮包解壓安裝
5.編譯安裝

這里我們選擇最后一種,編譯安裝。

一.下載軟件

官網(wǎng)選擇最新版本下載

image.png

二.環(huán)境準(zhǔn)備

1.安裝所需的基本的包

yum -y install ntpdate gcc gcc-c++ ncurses ncurses-devel cmake readline-devel zlib.x86_64 zlib-devel.x86_64 bison libcurl-* net-tool* tree nmap sysstat lrzsz dos2unix telnet.x86_64 nethogs iftop iotop unzip ftp.x86_64 xfs* expect vim wget psmisc openssh-client* libaio libaio1 libnuma openssl-devel bzip2

2.檢查系統(tǒng)是否已經(jīng)安裝了mysql
centos 7開始默認(rèn)安裝的是mariadb了,存在的話污朽,先卸載

-- 檢查是否已經(jīng)安裝mysql
[root@**** ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@**** ~]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
[root@**** ~]# 

3.關(guān)掉防火墻和SElinux

systemctl stop firewalld
systemctl disabled firewalld
systemctl stop postfix
systemctl disable postfix
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && cat /etc/selinux/config >> ${tmplog_dir}/base.log 2>&1
setenforce 0
getenforce

4.升級gcc

-- 升級比較慢拦耐,需要耐心等待
mkdir /usr/local/tools && cd /usr/local/tools
wget http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.5.0//gcc-5.5.0.tar.xz
tar xf gcc-5.5.0.tar.xz
cd gcc-5.5.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make && make install

5.升級cmake

cd /usr/local/tools
wget https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5.tar.Z
tar -xvf cmake-3.14.5.tar.Z
cd cmake-3.14.5/
./bootstrap
make && make install

如果出現(xiàn)以下錯誤
ibstdc++.so.6: version `CXXABI_3.4.20' not found (required by ./destructor)
處理如下:

find / -name "libstdc++.so*"
mv /usr/lib64/libstdc++.so.6.0.19 /tmp/
cp /usr/local/tools/gcc-5.5.0/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64/
mv /usr/lib64/libstdc++.so.6 /tmp/
cd /usr/lib64/
ln -s libstdc++.so.6.0.21 libstdc++.so.6

6.創(chuàng)建用戶及目錄

-- 創(chuàng)建用戶
groupadd mysql
useradd -d /home/mysql -g mysql -m mysql
passwd mysql
-- 創(chuàng)建目錄
mkdir  -p /u01/my3306/data
mkdir  -p /u01/my3306/log/iblog
mkdir  -p /u01/my3306/log/binlog
mkdir  -p /u01/my3306/run
mkdir  -p /u01/my3306/tmp
-- 授權(quán)
chown -R mysql:mysql /u01/my3306
chmod -R 755 /u01/my3306

7.配MySQL環(huán)境變量

su - mysql
vi .bash_profile
PATH  :/u01/my3306/bin

source .bash_profile 

8.上傳并解壓文件

tar -zxvf mysql-boost-8.0.20.tar.gz -C /usr/local

三.安裝

-- 上一步解壓的位置
cd /usr/local/mysql-8.0.20
--cmake編譯安裝
cmake . \
-DWITH_BOOST=/usr/local/mysql-8.0.20/boost/boost_1_70_0 \
-DCMAKE_INSTALL_PREFIX=/u01/my3306 \
-DMYSQL_DATADIR=/u01/my3306/data \
-DWITHOUT_CSV_STORAGE_ENGINE=1 \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SSL=system \
-DCMAKE_CXX_COMPILER=/usr/local/bin/g++ \
-DCMAKE_C_COMPILER=/usr/local/bin/gcc

make -j 8 && make install

四.配置文件及初始化

配置文件:
路徑:/u01/my3306/my.cnf

[client]
port=3306
socket=/u01/my3306/mysql.sock

[mysql]
pid_file=/u01/my3306/run/mysqld.pid

[mysqld]
basedir = /u01/my3306
datadir = /u01/my3306/data
port = 3306
socket = /u01/my3306/mysql.sock

#必填項
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#binlog
log_bin=/u01/my3306/log/binlog/binlog
binlog_format=row
expire_logs_days=7
log_slave_updates=ON
sync_binlog=100

#logging
log_error=/u01/my3306/log/error.log
slow_query_log_file=/u01/my3306/log/slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=1

初始化:

chown -R mysql:mysql /u01/my3306
chown -R mysql:mysql /usr/local/mysql-8.0.20
su - mysql
/usr/local/mysql-8.0.20/bin/mysqld --basedir=/u01/my3306 --initialize --datadir=/u01/my3306/data --user=mysql

生成的臨時密碼一定要保留,后面登陸需要使用

[10:36:47] [mysql@*** data]$ /usr/local/mysql-8.0.20/bin/mysqld --basedir=/u01/my3306 --initialize --datadir=/u01/my3306/data --user=mysql
[10:36:47] 2020-05-29T02:36:59.773440Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
[10:36:47] 2020-05-29T02:36:59.773474Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
[10:36:47] 2020-05-29T02:36:59.774430Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.20/bin/mysqld (mysqld 8.0.20) initializing of server in progress as process 27145
[10:36:47] 2020-05-29T02:36:59.790675Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
[10:36:48] 2020-05-29T02:37:00.416071Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
[10:36:50] 2020-05-29T02:37:01.867872Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: eIzp%ZzE-3Rs

檢查data目錄文件是否已生成

[mysql@**** ~]$ /usr/local/mysql-8.0.20/bin/mysqld --defaults-file=/u01/my3306/my.cnf --initialize --datadir=/u01/my3306/data --user=mysql
[mysql@*** ~]$ cd /u01/my3306/data/
[mysql@*** data]$ ll
total 45040
-rw-r----- 1 mysql mysql       56 May 28 22:07 auto.cnf
-rw------- 1 mysql mysql     1676 May 28 22:07 ca-key.pem
-rw-r--r-- 1 mysql mysql     1112 May 28 22:07 ca.pem
-rw-r--r-- 1 mysql mysql     1112 May 28 22:07 client-cert.pem
-rw------- 1 mysql mysql     1676 May 28 22:07 client-key.pem
-rw-r----- 1 mysql mysql   491520 May 28 22:07 #ib_16384_0.dblwr
-rw-r----- 1 mysql mysql  8880128 May 28 22:07 #ib_16384_1.dblwr
drwxr-x--- 2 mysql mysql        6 May 28 22:07 #innodb_temp
drwxr-x--- 2 mysql mysql        6 May 28 22:07 mysql
-rw-r----- 1 mysql mysql 15728640 May 28 22:07 mysql.ibd
drwxr-x--- 2 mysql mysql     8192 May 28 22:07 performance_schema
-rw------- 1 mysql mysql     1676 May 28 22:07 private_key.pem
-rw-r--r-- 1 mysql mysql      452 May 28 22:07 public_key.pem
-rw-r--r-- 1 mysql mysql     1112 May 28 22:07 server-cert.pem
-rw------- 1 mysql mysql     1676 May 28 22:07 server-key.pem
-rw-r----- 1 mysql mysql 10485760 May 28 22:07 undo_001
-rw-r----- 1 mysql mysql 10485760 May 28 22:07 undo_002

五.MySQL啟動和登陸

啟動MySQL

mysqld_safe --defaults-file=/u01/my3306/my.cnf --user=mysql &

修改密碼:

-- 這個地方的密碼是第四步生成的臨時密碼孔轴,必須修改了才能正常使用mysql
[mysql@*** my3306]$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.20 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.01 sec)

mysql> 
mysql> 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

六.FAQ

1.gcc、cmake下載較慢
軟件下載較慢碎捺,可以通過其它途徑下載路鹰,然后傳到服務(wù)器即可

2.初始化密碼忘記保存
刪除數(shù)據(jù)文件后重新初始化

cd /u01/my3306/data/
rm -rf *
/usr/local/mysql-8.0.20/bin/mysqld --basedir=/u01/my3306 --initialize --datadir=/u01/my3306/data --user=mysql

3.Can't connect to local MySQL server through socket '/tmp/mysql.sock'
登陸的時候報錯,/tmp/mysql.sock不存在收厨,創(chuàng)建軟鏈接即可

ln -s /u01/my3306/mysql.sock /tmp/mysql.sock

4.啟動報錯
啟動報錯晋柱,多半是my.cnf配置錯誤,查看指定的errlog進(jìn)行排查
more /u01/my3306/log/error.log

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诵叁,一起剝皮案震驚了整個濱河市雁竞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拧额,老刑警劉巖碑诉,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異侥锦,居然都是意外死亡进栽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門恭垦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來快毛,“玉大人盲厌,你說我怎么就攤上這事』隼幔” “怎么了吗浩?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長没隘。 經(jīng)常有香客問我懂扼,道長,這世上最難降的妖魔是什么右蒲? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任阀湿,我火速辦了婚禮,結(jié)果婚禮上瑰妄,老公的妹妹穿的比我還像新娘陷嘴。我一直安慰自己,他們只是感情好间坐,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布灾挨。 她就那樣靜靜地躺著,像睡著了一般竹宋。 火紅的嫁衣襯著肌膚如雪劳澄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天蜈七,我揣著相機(jī)與錄音秒拔,去河邊找鬼。 笑死飒硅,一個胖子當(dāng)著我的面吹牛砂缩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播三娩,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼庵芭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了尽棕?” 一聲冷哼從身側(cè)響起喳挑,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滔悉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體单绑,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡回官,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了搂橙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉提。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苔巨,到底是詐尸還是另有隱情版扩,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布侄泽,位于F島的核電站礁芦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悼尾。R本人自食惡果不足惜柿扣,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闺魏。 院中可真熱鬧未状,春花似錦、人聲如沸析桥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泡仗。三九已至翻伺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沮焕,已是汗流浹背吨岭。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留峦树,地道東北人辣辫。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像魁巩,于是被迫代替她去往敵國和親急灭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348