1. 程式人生 > >linux下5.7.23mysql安裝(與5.6/5.5版本對比)親測可用

linux下5.7.23mysql安裝(與5.6/5.5版本對比)親測可用

開頭語: 本文會詳細說明mysql5.7.23版本的安裝,同時也會在5.6月5.5與5.7版本安裝方法不同的地方進行說明。如有錯誤的地方,請大家指正。

為什麼要升級mysql到5.7.23版本?
以前用的是5.5版本的mysql(具體版本有點忘了),被檢測出有安全漏洞。然後被要求升級到最高版本。於是下載了5.5的最高版本,安裝完成,結果還是被檢查出有漏洞。於是有找到5.6最高版本安裝完成,結果還是被檢查出有安全漏洞。哎,最後又下載5.7.23安裝,結果5.7的一些安裝指令碼與5.6、5.5不一樣,查了一些資料,最後終於安裝上啦。
關於mysql安全漏洞問題可以看看這個文章,關於mysql安全漏洞以及需要升級到的版本:

https://blog.csdn.net/gao1738/article/details/42839607

一、mysql下載

1、進入mysql官網,下載mysql社群辦伺服器

2、選擇5.7版本

這裡寫圖片描述

3、選擇linux版本,我這裡使用的是64的mysql

這裡寫圖片描述

4、選擇不登入下載即可

這裡寫圖片描述

二、mysql上傳到linux伺服器並解壓

將mysql安裝包放到伺服器的/disk02/mysql下 執行解壓命令

解壓:tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
更改目錄名稱:mv mysql-5.7.23-linux-glibc2.12-x86_64 /disk02/mysql/mysql-5.7.23

三、新增mysql使用者組

依次執行以下命令,新增mysql使用者組

cd /disk02/mysql/mysql-5.7.23
groupadd mysql
useradd -r -g mysql mysql
cd ..
chown -R mysql:mysql mysql-5.7.23

四、安裝資料庫,初始化mysql

依次執行:

 cd /disk02/mysql
 mkdir data  --建立資料儲存位置data資料夾(可自行選擇位置)
 cd /disk02/mysql/mysql-5.7.23/bin
./mysqld --initialize --user=mysql 
--basedir=/disk02/mysql/mysql-5.7.23/ --datadir=/disk02/mysql/data

執行上面初始化命令後,會生成臨時密碼,記住此密碼
這裡寫圖片描述

如果版本為5.5與5.6版本的mysql安裝,初始化mysql不要執行上面的指令碼,使用以下命令:

初始化命令使用(指令碼同樣在bin下面):
./mysql_install_db --user=mysql 
--basedir=/disk02/mysql/mysql-5.7.23/ --datadir=/disk02/mysql/data
這行這個命令後不會生成臨時密碼,最終密碼要自己設定(後面會提到如何設定)

五、配置檔案

使用的配置檔案一共有2個:/etc/init.d/mysql 與 /etc/my.cnf
1、將mysql的support-files中的mysql.server複製到/etc/init.d/下改名為mysql,並更改其中想用配置資訊。

cd /disk02/mysql/mysql-5.7.23/support-files
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
修改mysql檔案中的兩個變更值
basedir=/disk02/mysql/mysql-5.7.23/ 
datadir=/disk02/mysql/data

2、修改/etc/my.cnf中的配置
由於5.7版本中沒有提供my.cnf的各種預設配置(也可能是我自己沒找到),手動配置(也可以使用其他版本的例如5.6,5.7版本中support-files/my-default.cnf 將這個檔案改名my.cnf然後覆蓋掉/etc/my.cnf,無論你怎麼做,下面的設定必須準確):

vi /etc/my.cnf
--如果是伺服器預設的my.cnf,不是由my-default.cnf配置過來的,那麼將原來的配置資訊注掉
新增:
[mysqld]  
basedir=/disk02/mysql/mysql-5.7.23/ 
datadir=/disk02/mysql/data
下面配置選加:
lower_case_table_names=1
character_set_server = utf8
max_allowed_packet = 20M
ft_min_word_len=1
max_connections=1000

當然,my.cnf還可以新增很多mysql的配置資訊,有需要或者有興趣的可以自己查一下.

如果為5.6/5.5版本,/etc/init.d/mysql配置資訊不變,my.cnf也可以使用mysql下的配置:

cd /disk02/mysql/mysql-5.7.23/support-files
cp my-default.cnf /etc/my.cnf  --替換原來的my.cnf
vi /etc/my.cnf
新增
basedir=/disk02/mysql/mysql-5.7.23/ 
datadir=/disk02/mysql/data
lower_case_table_names=1
character_set_server = utf8
max_allowed_packet = 20M
ft_min_word_len=1
max_connections=1000

六、新增環境變數

為方便訪問,配置環境變數

vim /etc/profile
在檔案中增加以下兩行:
export MYSQL_HOME="/disk02/mysql/mysql-5.7.23"
export PATH="$PATH:$MYSQL_HOME/bin"
環境變數生效:
source /etc/profile

七、新增自動重啟

如果為安裝聯絡,可以跳過此步驟。

chkconfig --add mysql
chkconfig mysql on

八、 啟動mysql

cd  /disk02/mysql/mysql-5.7.23/bin
service mysql start


--檢視啟動是否成功---
1、檢視是否有程序 
ps -ef | grep mysql
2、訪問資料庫:
cd  /disk02/mysql/mysql-5.7.23/bin
./mysql -u root –p
輸入上面你記錄的臨時密碼

九、登入mysql,修改密碼 以及遠端登入授權

啟動成功後,一定要第一時間修改mysql密碼。

cd  /disk02/mysql/mysql-5.7.23/bin
./mysql -u root –p
輸入上面你獲取的臨時密碼
set password=password("youPassword");  --設定密碼

如果你要遠端訪問你的mysql(例如本地開發或安裝mysql訪問工具,需要訪問mysql資料庫),你需要給你的mysql建立使用者遠端訪問授權。

遠端登入授權(也可以用mysql使用者)
#mysql> grant all privileges on *.* to'root' @'%' identified by 'youPassword'; --允許root使用者遠端訪問
#mysql> flush privileges;  --授權生效
#mysql> exit;

如果為5.5 、5.6版本,沒有臨時密碼

設定密碼:
cd  /disk02/mysql/mysql-5.7.23/bin
mysqladmin -u root password 'youPassword'
遠端登入授權方法與上面一致。

十、注意事項

1、遠端訪問mysql注意伺服器防火牆,如果防火牆開啟,那麼遠端訪問很可能不好用.
2、注意使用者許可權問題…
3、以後補充…