Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

MySQL我選擇免編譯安裝,直接在linux下載,或者下載上傳至Linux。

現在用最新的MySQL 8。0系列,和最常用的MySQL 5。7系統,選擇適合自己的版本下載。

最新版本下載參考官方文件:https://downloads。mysql。com/archives/community/

所有版本的官方安裝文件:https://dev。mysql。com/doc/refman/

我選擇5。7版的最新版是5。7。33版本,Generic(常規大眾版),64位也是目前企業最常用的版本。

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

1。 前期準備:安裝依賴包,建立mysql使用者及使用者組

沒有這個依賴包,初始化會報錯。

yum search libaio # 查詢依賴包yum -y install libaio # 安裝libaio依賴包yum -y install libncurses* # 安裝libncurses* 依賴

建立mysql使用者及使用者組

groupadd mysql #建立mysql使用者組useradd -r -g mysql -s /bin/false mysql #建立系統使用者mysql並加入mysql使用者組

2。 linux下載MySQL並解壓到指定目錄

mkdir /mysql

1)下載MySQL

wget https://downloads。mysql。com/archives/get/p/23/file/mysql-5。7。33-linux-glibc2。12-x86_64。tar。gz

2)解壓MySQL

tar -zxvf mysql-5。7。33-linux-glibc2。12-x86_64。tar。gz

3)自己選擇好或建立好自己的路徑目錄,我是直接改名為mysql 直接移動到根目錄裡

注:路徑很重要,mysql預設是安裝在/usr/local/mysql路徑,如果不是這個目錄,後面啟動會報錯,需要修改一個指令碼檔案內容。如果懶得改的直接解壓移動到這個路徑即可

重新命名解壓的資料夾為mysql:

mv mysql-5。7。33-linux-glibc2。12-x86_64 mysql

將mysql資料夾移動到/根目錄

mv mysql /

進入根目錄的mysql資料夾可以看到這些檔案。

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

3。進入/mysql目錄,建立mysql-files並授權

在mysql目錄下建立mysql-files目錄,網上絕大部分都是複製來複制去建立data目錄(以前我被這種方式坑了太多次了),咱沒必要那樣還總是報錯,咱們還是安裝官方文件來更靠譜,後面安裝初始化後自己生成data資料夾。

5。7官方安裝文件:https://dev。mysql。com/doc/refman/5。7/en/binary-installation。html

建立目錄

mkdir /mysql/mysql-files

更改mysql-files許可權(網上大多數也是給整個mysql目錄授權,也沒必要,這一個檔案即可)

chown mysql:mysql mysql-fileschmod 750 mysql-files

改完後的目錄

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

4。安裝並初始化

安裝初始化,注意自己basedir=/mysql 路徑為你自己所存放的mysql路徑。

。/bin/mysqld ——initialize ——user=mysql ——basedir=/mysql

初始化安裝生成密碼和data資料夾。初始密碼,也是後面第一次進入mysql的密碼。

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

5。修改指令碼內容啟動資料庫

修改support-files目錄下的mysql。server指令碼檔案。

vim support-files/mysql。server

修改這兩個變數的路徑為自己設定的路徑即可。

basedir=/mysqldatadir=/mysql/data

測試是否啟動並登入成功

啟動資料庫:

。/support-files/mysql。server start

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

啟動成功!!!

登入資料庫輸入原始密碼:

。/bin/mysql -u root -p

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

登入成功,順便把原始密碼改了,在mysql下依次輸入以下命令。

自己設定自己的密碼,這裡我設定的是123456。

修改密碼:

SET PASSWORD = PASSWORD(‘123456’);

禁用密碼過期:

ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;

刷新系統許可權:

flush privileges;­

修改好後,輸入

quit;

退出資料庫。

6。將mysql新增程序,新增變數,新增服務

由於現在我們只能依靠在mysql目錄下的指令碼才能啟動登入,所以需要新增mysql程序到系統程序,並配置環境變數以在命令列模式可直接輸入命令登入。

新增程序:

cp support-files/mysql。server /etc/init。d/mysql

新增好後。可以用命令

service mysql start

開啟服務,

service mysql stop

關閉服務。

當然如果我們習慣用systemctl 開啟或者關閉服務,就要用chkconfig新增到服務即可。

chkconfig ——add mysql

這時我們可以用

systemctl start mysql。service

開啟服務,

systemctl stop mysql。service

關閉服務了。

最後我們在/etc/profile裡面新增mysql環境變數

vim /etc/profile

在末尾新增:(注意你們自己設定的路徑,我的路徑是/mysql/bin)

export PATH=$PATH:/mysql/bin

儲存!

source /etc/profile

更新立即生效。

這時我們可以直接用

mysql -u root -p

登入mysql了。

到此mysql安裝完成!!

Linux(CentOS8)免編譯安裝mysql5.7.33最新版本

7。MySQL配置檔案(自己選擇行配置)

MySQL預設沒有配置檔案,如果需要,自己在/etc建立my。cnf配置檔案。

vim /etc/my。cnf

常用配置引數:

[client] #mysql客戶端執行的時候才會載入的選項組,如mysql命令#socket=tmp/mysql。sock #sock執行時sock路徑設定,重啟生效default-character-set=utf8 #預設字型[mysqld_safe] #服務端,此組優先順序最高log-error=/var/log/mysqld。log #錯誤日誌路徑pid-file=/var/run/mysqld/mysqld。pid #程序啟動路徑[mysqld] #服務端port=3306 #埠配置,預設3306datadir=/mysql/data #資料目錄socket=/mysql/mysql。sock #mysql以socket方式執行的sock檔案位置#user=root #預設使用者character-set-server=utf8 #伺服器使用的字符集default-storage-engine=INNODB #預設儲存引擎max_connections=151 #mysql最大連線數bind_address = 127。0。0。1 #監聽地址,如果是127。0。0。1,表示僅本機訪問autocommit = 1 #資料修改是否自動提交,為0不自動提交max_connect_errors = 1000 #最大錯誤連線數,防止dos攻擊lower_case_table_names = 1 #是否對sql語句大小寫敏感,1表示不敏感skip_name_resolve = 1 #禁用DNS主機名查詢,啟用以後用內網地址向mysqlslap請求響應快了一半[mysql] #客戶端設定no-auto-rehash #關閉命令自動補全#auto-rehash #開啟命令自動補全