1. 程式人生 > >CentOs7下安裝mysql5.7.23(rpm安裝)

CentOs7下安裝mysql5.7.23(rpm安裝)

準備

        一臺裝有centos7.3的電腦(或虛擬機器),mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar   mysql的rpm安裝集合包

注意這樣選擇,可以獲得centos支援的版本。

一、安裝環境

        我們先把下載的mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar 上傳到我們的centos系統中,最好傳到/opt 資料夾中

     然後我們建立一個新的,用於盛放tar檔案釋放後文件的資料夾:

cd /opt
mkdir mysql

然後執行解壓命令:

tar -xf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar -C mysql

這時,我們再到mysql的目錄下就可以看到解壓出來的rpm包:

資源都準備好了,現在我們來看一下環境:

    由於CentOs7之後會在系統中自帶一個免費的資料庫:mariadb,並且它的驅動和mysql的驅動是有衝突的,所以我們必須先要解除安裝他。(ps.mariadb和mysql是同一個作者創作的資料庫,由於權益等其他問題才分開的,所以有興趣的同志可以研究一下。)

   首先用rpm命令檢視一下是否有mariadb,然後再刪除:

rpm -qa | grep -i mariadb

 可能會出現這種情況:

然後我們用rpm命令刪除這個版本的mariadb:

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

這個名字在不同版本的系統上可能不一樣,大家需要注意。

如果是centos7之前的版本的話,可能會自帶mysql,這是我們需要按照上述步驟刪除mysql,這裡不再贅述。

由於mysql的server端需要perl語言的支援,因此我們還需要在系統中安裝perl支援:

yum install perl -y

二、安裝

        由於我們上面解壓出來的幾個rpm包有依賴關係,所以我們需要按照順序執行安裝:

rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

這幾個包的安裝完成之後,我們的資料庫也就安裝完成了,有幾個需要注意的地方:

  • 資料庫目錄:/var/lib/mysql/
  • 命令配置:/usr/share/mysql  (mysql.server命令及配置檔案)
  • 相關命令:/usr/bin   (mysqladmin mysqldump等命令)
  • 啟動指令碼:/etc/rc.d/init.d/   (啟動指令碼檔案mysql的目錄)
  • 系統配置:/etc/my.conf

三、執行-初始化

        安裝完成了,我們需要先把mysql執行起來,這樣我們才能進行接下來的配置。

ps.強烈建議在root使用者環境下進行初始化配置,方便使用者和密碼的建立。

        現在我們可以先看一下 /var/lib/mysql/  目錄下是否有東西,我們可以發現這個目錄下是沒有東西的,或者是連mysql這個目錄都沒有,也就是說資料庫還沒有初始化。

注意:

     這裡我跳過了初始化root使用者,或者是mysql使用者的步驟,因為網上看在5.7.12上可以成功的步驟在5.7.23上卻會在啟動步驟報錯,原因未知。

         現在我們來配置mysql的啟動,個人比較推薦使用服務的方式啟動(centos7特有):

systemctl start mysqld.service

 這樣就把mysqld這個服務新增到系統中了,我們可以用service進行啟動了,啟動,停止,重啟的命令如下:

啟動:

使用 service 啟動:service mysqld start
使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start
使用 safe_mysqld 啟動:safe_mysqld&

停止:

使用 service 啟動:service mysqld stop
使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop
mysqladmin shutdown 

重啟:

使用 service 啟動:service mysqld restart
使用 mysqld 指令碼啟動:/etc/inint.d/mysqld restart

我們在啟動了mysql之後,這個時候等待一段時間,資料庫需要進行初始化,這個時候我們可以看一下資料庫的日誌,會發現mysql幫我們初始化了一個root使用者:

cat /var/log/mysqld.log

由於服務已經啟動了,所以可以用root和這個密碼登陸了:

mysql -u root -p 

password 輸入自己獲得的密碼

修改密碼:

set password = password('你的密碼');

設定外部遠端訪問許可權:

grant all privileges on *.* to 'root' @'%' identified by '123456'; 
flush privileges;

 開放埠:     

         這裡設定完之後,就可以在其他區域網內電腦上用Navicat連線一下看看能不能連線了,如果遇到帶有數字的報錯(非denind)的話,可以嘗試開啟防火牆的埠限制:

#開啟3306埠
firewall-cmd --zone=public --add-port=3306/tcp --permanent  
#重新整理防火牆
firewall-cmd --reload  

設定開機啟動:

chkconfig mysqld on

至此,我們的mysql資料庫就已經安裝完成,並能隨系統啟動和外部訪問了。