[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
查看全部
發表第一個留言支持創作者!
你可能也想看
[MySQL] 忘記密碼時重置密碼及修改密碼如果MySQL忘記密碼,可以使用修改cnf檔案免去登入驗證,再進入MySQL重新設定密碼的方式,找回密碼,另外還附上有一般修改密碼的方式。
Thumbnail
avatar
Hankz
2024-03-19
[MySQL] 使用RPM在Linux中離線安裝MySQL本篇文章將會說明如何在Linux中使用RPM離線安裝MySQL。
Thumbnail
avatar
Hankz
2024-03-18
avatar
Youna
2023-12-09
MySQL 基本語法 (十一) JOINJOIN 連接 : 可以將2個表格連接在一起
Thumbnail
avatar
Youna
2023-12-09
MySQL GROUP_CONCAT 長度限制Laravel GROUP_CONCAT 出來的json格式錯誤,看起來是字串被截斷了,查了一下發現原來MySQL GROUP_CONCAT select出來的字串會有最大值的限制,預設是1024個字元。 1. 程式端解法:    DB::statement('SET GLOBAL group_c
avatar
Vic Lin
2021-10-08
MySQL DATE_SUBMySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
Thumbnail
avatar
Vic Lin
2021-09-28
MySQL group_concat merge two column to json以下以Laravel為例,一般group_concat我們可能會這樣寫: E 但其實table_a_id, table_a_name可以merge成一個json,資料整理起來比較好看,可以改成這樣的寫法: E 最後response之前可以用php的json_decode把json string轉為o
avatar
Vic Lin
2021-05-14
MySQL group_concat with if condition有時候我們會需要只group concat某些條件,就可以像這樣寫: group_concat(DISTINCT IF(user.name != 'abc' AND b.b_id != c.c_id, c.name, NULL)) as d 符合這個條件的才給值,否則給null,由於group_co
avatar
Vic Lin
2021-05-12
Laravel mysql group_concat don't ignore nullMysql的group_concat預設會自動把null的忽略,但有時候我們會希望還是能夠concat到null的,可以用以下方法把null轉成空字串: DB::raw("group_concat(coalesce(`table`.`abc_col`, '') SEPARATOR ',') as a
avatar
Vic Lin
2021-05-06