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資料庫就已經安裝完成,並能隨系統啟動和外部訪問了。