MySQL 8.0.20遠程安裝指南(CentOS 7 x64)
一、前言
路總是有人走的,不然就只是一片土地。
總而言之,安裝MySQL就是,先下載MySQL的Server端rpm包和MySQL的軟件源rpm包,然後雙擊安裝,這個過程通常會卡很久,很慢,真的。
之後就是啓動MySQL服務,獲得臨時密碼然後修改root密碼,配置遠程訪問,最後打開3306端口就可以了。
二、環境 / 準備
- VMware 15 Pro
要求:與主機網卡進行橋接,使用vmnet0服務,便於之後主機直接與虛擬機進行通信。
官方傳送:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html - CentOS 7 x64
版本:CentOS-7-x86_64-DVD-1503-01.iso
官方傳送:http://isoredirect.centos.org/centos/7/isos/x86_64/
鏡像源:阿里雲CentOS鏡像源 - Navicat Premium 12
試用版即可,只需要驗證下MySQL是否成功安裝。
官方傳送:https://www.navicat.com.cn/download/navicat-premium - MySQL軟件源的.rpm
官方傳送:https://dev.mysql.com/downloads/repo/yum/
選擇 Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package —— 25.4KB
下載傳送:https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm - MySQL Server端.rpm
官方傳送:https://dev.mysql.com/downloads/mysql/
選擇 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Package MySQL Server —— 488.3MB
下載傳送:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-community-server-8.0.20-1.el7.x86_64.rpm
三、安裝MySQL
先將下載的兩個rpm移到虛擬機的/Downloads目錄下,然後升級下yum yum -y update
。
能直接用鼠標點就不要用命令行CLI。
(一)安裝MySQL軟件源
對應RPM——mysql80-community-release-el7-3.noarch.rpm
方式一:雙擊安裝……
方式二:命令行安裝
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
(二)安裝MySQL Server
對應RPM——mysql-community-server-8.0.20-1.el7.x86_64.rpm
方式一:雙擊安裝……(這個真的很慢,Take easy)
方式二:命令行安裝……(會提示缺少其他包)
(三)啓動並檢查MySQL服務
啓動服務命令:service mysqld start
返回:Redirecting to /bin/systemctl start mysqld.service
查看MySQL服務啓動狀態命令:service mysqld status
返回:
至此,MySQL已經安裝完成了,接下來的是初始化MySQL。
四、初始化MySQL
(一)獲取臨時密碼
MySQL的root隨機產生的臨時密碼位於 /var/log/mysqld.log
,我們需要獲得這個臨時密碼。
命令:grep 'temporary password' /var/log/mysqld.log
得到的隨機產生的臨時密碼就是:4i+pio1rerE9
(二)修改MySQL的root用戶密碼
根據剛剛得到的臨時密碼,登陸進MySQL:mysql -u root -p
修改本地root密碼:
命令:
alter user 'root'@'localhost' identified by 'Hdmi-3230370039'
注意,如果此時密碼太過簡單,就會那啥,報錯。
至此,本地root
完成密碼設置。
(三)授權root遠程訪問
因爲某些情況下需要其他機器遠程登陸,所以必須要給權限,允許其他機器遠程登陸。
MySQL的某些版本默認開啓了允許,但最新版本出於安全考慮默認關閉該機制。
一起開啓吧(不管你開了還是關了)!
1. 創建任意IP均可登陸的root
不會覆蓋本地的root,放心食用,也就是說,密碼可以不同於本地的root密碼。
命令:
create user 'root'@'%' identified by 'Hdmi-abcde12345';
2. 賦予該root所有權限
雖然但是很不安全,不得不,因爲生活所迫。
命令:
grant all privileges on *.* to 'root'@'%' with grant option;
(四)配置遠程訪問root的密碼規則
因爲navicat軟件在MySQL 8以前用的加密規則是mysql_native_password,而MySQL 8以後的規則是
caching_sha2_password,
所以報錯2059。
這裏對mysql用戶登錄的加密規則修改爲mysql_native_password
。
命令:
alter user 'root'@'%' identified with mysql_native_password by 'Hdmi-abcde12345';
五、防火牆規則配置
(一)查看防火牆狀態
命令:firewall-cmd --state
發現是running
就對了,不是的話參考這個鏈接把防火牆開啓:https://blog.csdn.net/u014079773/article/details/79745819
(二)開放MySQL服務
根據CentOS版本不同,開啓端口方式也不一樣,CentOS 6是iptables
,CentOS 7是firewall
。
1. 查看服務是否已啓動
命令:
firewall-cmd --query-service=mysql
2. 永久開放MySQL服務
命令:
firewall-cmd --add-service=mysql --permanent
(三)開放3306端口
1. 查看端口是否已開放
命令:
firewall-cmd --query-port=3306/tcp
2. 永久開放3306端口
命令:
firewall-cmd --add-port=3306/tcp --permanent
(四)重啓防火牆
完成上述步驟後,重啓防火牆,使配置生效。
命令:
firewall-cmd --reload
六、驗證
(一)橋接虛擬機
1. 虛擬機設置橋接
2. VMware設置橋接
只需要管vmnet0
,其他不用理,圖中的Inter® Dual…四我的聯網的網卡,注意,是已經聯網的網卡。
由於篇幅有限,vmnet0
的安裝可以參考這篇教程:
Vmware安裝後,沒有VMnet0
(二)獲取虛擬機IP
完成橋接後,在虛擬機內,輸入命令:ifconfig
可知我的虛擬機獲得的IP是192.168.31.240
(三)真機連接虛擬機3306
在真實計算機上,打開Navicat Premium 12,新建連接,按照虛擬機上配置好的root信息以及獲取的IP地址,填入,測試連接即可。