1. 程式人生 > >Centos7 安裝mysql5.7 (基於騰訊雲)

Centos7 安裝mysql5.7 (基於騰訊雲)

                前言:寫部落格是作者對問題的理解與解決,不要認為複製貼上就是自己的。  如需轉載請標明出處

1.使用xftp工具將官網下載的rpm檔案包上傳至自己伺服器(注意自己linux版本位數 是32位還是64位  命令:file /bin/ls

)  


2.開啟Xshell 工具,找到剛才上傳的Mysql rpm檔案,輸入tar -xvf mysql-5.7...........  解壓Mysql 檔案包  即可得到

mysql-community.......檔案

 

3.到了這裡問題就來了,因為每個linux 版本不可能做到"十全十美"。必定都缺少有些軟體相應的底層庫檔案

 使用rpm -ivh ...命令 操作rpm檔案。首先看到有server這樣單詞。伺服器的意思. 所以我們很自然覺得應該先安裝mysql-community-server-5.7.......  ok      rpm -ivh mysql-community-server-5.7....... 報了一個錯誤

   注意看:


  這個就是我剛才說的缺少必要的庫檔案,複製這行程式碼百度。使用  yum  install    numactl  命令來安裝所需庫檔案。

等到顯示Complete說明安裝成功,


接下來在執行rpm -ivh  mysql-community-server-5.7......這個命令,顯示如下



之前的問題沒有了,然而會遇到如上圖顯示的。。其實mysql 安裝有一定的安裝步驟。我們直接安裝server 這個rpm  會提示讓我們先安裝mysql-community-client與mysql-community-common ,

執行rpm -ivh mysql-community-client-5.7.....顯示如下



這個會提示我們安裝mysql-community-libs -5.7這個rpm ,ok 我們就根據他說的  安裝mysql-community-libs -5.7 這個rpm   然而會顯示如上錯誤。第一行這個問題大家舉一反三就知道libs 這個rpm要依賴於mysql-community-common這個。但是第二行mariadb-libs 這個問題,另我很迷惑開始我以為這個也是缺少底層庫支援。然而百度後才知道centos7使用mariadb這個來替換mysql。

既然這樣乃我只好乾掉你了。  

執行 rpm -qa | grep mariadb   顯示如下


果然centos7  自帶這個。與mysql差生衝突。    

執行 rpm -e mariadb-libs-5.......//普通刪除模式

        rpm -e --nodeps mariadb-libs-5......//強制刪除模式

再次執行rpm -qa | grep mariadb  顯示如下 之前的maridb庫沒有了


接下來 依次安裝common->libs->client->server  如圖所示



到了這步mysql 就已經安裝完成。 如果大家能認真看懂上面,舉一反三。安裝mysql應該沒問題。

總結: 1.檢視是否缺少庫檔案支援

          2.mysql 檔案安裝順序

之前我們在Centos6啟動mysql ,執行的命令service mysqld start,或者service mysql start ,這次在Centos7上面執行這個命令,如下


明顯Centos7 啟動mysql  明顯不再是以上命令。(注:restart 重啟操作,不是啟動操作)

輸入一下命令 啟動mysql



輸入mysql -uroot -p   回車,顯示了一個這樣錯誤


登不進去,沒辦法只好這樣輸入一下命令,grep 'temporary password' /var/log/mysqld.log   在第二行[email protected]:後面  這個就是mysql 臨時密碼

複製,貼上到Enter password ,進入mysql


在進入mysql後我興奮異常,然而當我要show  資料庫時卻包了一個這樣錯誤


看樣子是讓我重新設定我的密碼,ok



執行SET PASSWORD = PASSWORD('123456789');這行,報如下問題,原來mysql在5.7這個版本中,加入了驗證密碼這個機制。必須是大小寫+數字+特殊符號 。如果不想將密碼設定著嗎複雜 。可以執行set global validate_password_policy=0;這行命令,在select @@validate_password_length;可以看到密碼的位數是8位的。這樣就很舒服了


最後在執行

grant all privileges on *.* to'root' @'%' identified by 'root'; flush privileges; 命令,允許遠端訪問,本地連線。否則想navicat這樣的資料庫工具不能遠端連線我們linux mysql資料庫



以上就是我在Centos7安裝mysql總結。有些地方解釋或許不到位。還請見諒。