準備
一台裝有centos7.3的電腦(或虛拟機),mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar mysql的rpm安裝集合包
下載下傳位址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
注意這樣選擇,可以獲得centos支援的版本。
一、安裝環境
我們先把下載下傳的mysql-5.7.26-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,然後再删除:
可以用yum remove指令删除
由于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
---------------------
設定開機啟動:
systemctl enable mysqld.service
至此,我們的mysql資料庫就已經安裝完成,并能随系統啟動和外部通路了。