[MySQL] CentOS7 安裝 MYSQL 8.0

閱讀時間約 5 分鐘
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.8)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來

1. 先準備好環境 (廢話)

我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
唯一不一樣的地方是在網路卡的設定,博主是用【橋接介面卡】
我試了半天就是沒有成功的給到跟本機同網段的IP
所以後來我的作法都是選用【僅限主機介面卡】

2. 安裝putty (選配)

只能說virtualbox虛擬機爆難用…進到主機游標都會不見,
沒有游標自然就沒辦法複製檔案名稱,要跳出來還要另外按鍵….
putty相較起來就跟cmd一樣平易近人,所以還是選他來做使用
可以將連線資訊存起來方便下次使用
選擇看得順眼的字型XD 推薦Consolas

3. 確認環境

因為我是起新的虛擬機來做安裝所以之前一定沒有裝過MYSQL或MariaDB
若是使用先前就有的環境建議都先確認過去是否有安裝過
[root@localhost ~]# rpm -qa | grep mysql
乾淨的環境應該要長這樣
啥都沒顯示就是乾淨的環境
若有帶出服務代表過去有裝過或是有殘存值沒殺乾淨,請移除後再行安裝
已經有裝過服務了,要先移除

4. 利用YUM安裝MYSQL

為了將MYSQL的rpm下載下來,我們會需要用到wget的這個功能
預設是沒有的要自行安裝
[root@localhost ~]# sudo yum install wget
安裝完可以直接下wget看有沒有成功,有回應就代表裝好囉
下載MYSQL社群版並放到/temp (-P 後面帶存放位置)
這裡的網址可以到MYSQL官網去查看(想知道網址怎麼來文章最後面有補充)
[root@localhost ~]# wget -P /temp/ https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
確認是否有成功下載
[root@localhost ~]# cd /temp
[root@localhost ~]# ls -la | grep mysql
安裝yum源及確認啟用的服務&確認有啟用的MYSQL安裝源
預設會啟用最新的版本(以現在來說就是MYSQL Community 8.0)
如果想要安裝舊版也可以去將舊版的服務做起用再安裝
[root@localhost ~]# rpm -vih /temp/mysql80-community-release-el7-4.noarch.rpm
[root@localhost ~]# yum repolist enabled | grep mysql
開始安裝MYSQL啦,安裝中途常常會問你要不要依賴下載[Is this OK]?
我全部都下 y (多裝沒事,少裝才麻煩的心態)
[root@localhost ~]# yum install mssql-community-server
yes yes~ 你要什麼都 yes
Complete!!

5. 安裝完成後驗證

[root@localhost ~]# service mysqld start   #啟用MySQL服務
[root@localhost ~]# service mysqld stop   #停止MySQL服務
[root@localhost ~]# service mysqld restart  #重啟MySQL服務
[root@localhost ~]# service mysqld status  #查看服務狀態
以上若都正常沒有錯訊,恭喜你已經裝好MYSQL囉

6. 設定 root 登入MYSQL的密碼

MYSQL會預設給root一組帳密,請到mysqld.log下去做查看
[root@localhost ~]# cat /var/log/mysqld.log | grep 'temporary password'
那串外星文就是你的密碼,記得複製起來
登入MYSQL吧
有時暫時性密碼會帶有特殊符號導致登入失敗,保險起見加個引號包起來會比較好
[root@localhost ~]# mysql -uroot -p'你的密碼'
登入後先下個顯示全資料庫的指令,這時會報錯
錯誤告訴我們要先去reset我們的密碼才能做使用 (真是任性…)
## 顯示全資料庫
mysql > show databases;

## Reset Root password
mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';
reset密碼完成後,就可以正常使用囉!(灑花)

補充:
選擇你的OS版本,我們是CentOS7 (RedHat家的產品)
這串網址就是我們的下載連結
參考:https://codingnote.cc/zh-tw/p/241662/
1會員
3內容數
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
如果MySQL忘記密碼,可以使用修改cnf檔案免去登入驗證,再進入MySQL重新設定密碼的方式,找回密碼,另外還附上有一般修改密碼的方式。
Thumbnail
本篇文章將會說明如何在Linux中使用RPM離線安裝MySQL。
Thumbnail
JOIN 連接 : 可以將2個表格連接在一起
Laravel GROUP_CONCAT 出來的json格式錯誤,看起來是字串被截斷了,查了一下發現原來MySQL GROUP_CONCAT select出來的字串會有最大值的限制,預設是1024個字元。 1. 程式端解法:    DB::statement('SET GLOBAL group_c
Thumbnail
MySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
以下以Laravel為例,一般group_concat我們可能會這樣寫: E 但其實table_a_id, table_a_name可以merge成一個json,資料整理起來比較好看,可以改成這樣的寫法: E 最後response之前可以用php的json_decode把json string轉為o
有時候我們會需要只group concat某些條件,就可以像這樣寫: group_concat(DISTINCT IF(user.name != 'abc' AND b.b_id != c.c_id, c.name, NULL)) as d 符合這個條件的才給值,否則給null,由於group_co
Mysql的group_concat預設會自動把null的忽略,但有時候我們會希望還是能夠concat到null的,可以用以下方法把null轉成空字串: DB::raw("group_concat(coalesce(`table`.`abc_col`, '') SEPARATOR ',') as a
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
如果MySQL忘記密碼,可以使用修改cnf檔案免去登入驗證,再進入MySQL重新設定密碼的方式,找回密碼,另外還附上有一般修改密碼的方式。
Thumbnail
本篇文章將會說明如何在Linux中使用RPM離線安裝MySQL。
Thumbnail
JOIN 連接 : 可以將2個表格連接在一起
Laravel GROUP_CONCAT 出來的json格式錯誤,看起來是字串被截斷了,查了一下發現原來MySQL GROUP_CONCAT select出來的字串會有最大值的限制,預設是1024個字元。 1. 程式端解法:    DB::statement('SET GLOBAL group_c
Thumbnail
MySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
以下以Laravel為例,一般group_concat我們可能會這樣寫: E 但其實table_a_id, table_a_name可以merge成一個json,資料整理起來比較好看,可以改成這樣的寫法: E 最後response之前可以用php的json_decode把json string轉為o
有時候我們會需要只group concat某些條件,就可以像這樣寫: group_concat(DISTINCT IF(user.name != 'abc' AND b.b_id != c.c_id, c.name, NULL)) as d 符合這個條件的才給值,否則給null,由於group_co
Mysql的group_concat預設會自動把null的忽略,但有時候我們會希望還是能夠concat到null的,可以用以下方法把null轉成空字串: DB::raw("group_concat(coalesce(`table`.`abc_col`, '') SEPARATOR ',') as a