虛擬機(jī)Centos7安裝MySQL數(shù)據(jù)庫實(shí)踐
前幾日在虛擬機(jī)上面安裝自己的MySQL數(shù)據(jù)庫,中間遇到了很多問題,不管是不能安裝還是后面用navicat去連接出錯(cuò)等等問題。所有寫下來讓各位少走一點(diǎn)彎路。因?yàn)槲姨摂M機(jī)已經(jīng)安裝所以在這里借用的都是在網(wǎng)上找的圖,如有侵,請聯(lián)系我刪圖。
安裝MySQL數(shù)據(jù)庫
下載wget命令
打開虛擬機(jī)centos終端輸入下方命令
注意:打開虛擬機(jī)時(shí)記得將自己的賬號切換到最大權(quán)限的賬號我的時(shí)root所以就切換到了root賬戶,至于怎么切換的可以在控制臺(tái)輸入su命令回車然后輸入你的root賬號密碼即可,如下圖所示賬號切換成功

yum -y install wget
下載MySQL安裝包
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝MySQL
可根據(jù)不同版本進(jìn)行安裝下載
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

安裝MySQL服務(wù)
1、進(jìn)入cd /etc/yum.repos.d/目錄
cd /etc/yum.repos.d/

2、安裝mysql服務(wù)(安裝過程很慢,并且可能會(huì)出現(xiàn)問題)
yum -y install mysql-server
注意:在安裝過程中可能會(huì)遇到以下類似問題:
1、源 “MySQL 5.7 Community Server” 的 GPG 密鑰已安裝,但是不適用于此軟件包。請檢查;
- 從 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 檢索密鑰
- 源 "MySQL 5.7 Community Server" 的 GPG 密鑰已安裝,但是不適用于此軟件包。請檢查源的公鑰 URL 是否配置正確。
- 失敗的軟件包是:mysql-community-server-5.7.37-1.el7.x86_64
- GPG 密鑰配置為:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解決方案:可在安裝出現(xiàn)問題后執(zhí)行下面代碼,這段代碼執(zhí)行完成后再來執(zhí)行安裝服務(wù)
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安裝完成后啟動(dòng)mysql服務(wù)
systemctl start mysqld
雖然到這一步已經(jīng)可以將mysql安裝好并且啟動(dòng)了,但是這個(gè)時(shí)候我們還不知道m(xù)ysql的密碼和連接ip這些。所以接下來需要我們?nèi)バ薷膍ysql的密碼和我們?nèi)ミB接MySQL的ip等操作
獲取MySQL臨時(shí)密碼
1、使用下方命令獲取mysql臨時(shí)密碼,一定要記住這個(gè)密碼后續(xù)要用到改密碼
grep 'temporary password' /var/log/mysqld.log

我的臨時(shí)密碼是:jsxGRs5kz,ju
2、先使用臨時(shí)密碼進(jìn)行登錄MySQL,輸入以下命令后輸入自己的臨時(shí)密碼
mysql -uroot -p
3、把密碼校驗(yàn)強(qiáng)度改成低(不改也可以,我這里是為了方便我本地進(jìn)行測試。但一定要記得自己的數(shù)據(jù)庫密碼)
set global validate_password_policy=LOW;
4、修改密碼長度
set global validate_password_length=4;
5、修改MySQL密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
完成以上的操作之后Linux系統(tǒng)的mysql就算是安裝好了,但是如果我們遠(yuǎn)程訪問數(shù)據(jù)庫怎么去操作呢?接下來就是需要允許遠(yuǎn)程訪問
允許遠(yuǎn)程訪問數(shù)據(jù)庫
1、關(guān)閉Centos防火墻
systemctl disable firewalld
2、設(shè)置允許任何人都可以連接MySQL
- 2.1、登錄mysql
mysql -uroot -proot

- 2.2、查看有那些數(shù)據(jù)庫
show databases;

- 2.3、切換到mysql數(shù)據(jù)庫
use mysql;

- 2.4、查看user表并且查詢host和user字段
select host,user from user;

發(fā)現(xiàn)root用戶只允許localhost主機(jī)登錄登錄,所以需要修改權(quán)限,將localhost修改成%,那么都可訪問
- 2.5、修改為允許任何地址訪問
update user set Host='%' where User='root';
- 2.6、刷新一下權(quán)限,再查詢一下,此時(shí)的localhost就變成了%
flush privileges;
- 2.7、退出mysql打開navicat連接數(shù)據(jù)庫

在這里還有一個(gè)小問題需要闡述一下;
問題1: 這里關(guān)閉防火墻我遇到了一個(gè)坑,剛開始我確實(shí)是關(guān)閉了防火墻,但是我的navicat就是不能連接上這個(gè)數(shù)據(jù)庫。然后找問題所在,看是不是權(quán)限不夠、是不是允許所有人訪問、是不是防火墻沒關(guān)閉。
方案:
修改遠(yuǎn)程訪問權(quán)限和登錄密碼后發(fā)現(xiàn)還是不能進(jìn)行遠(yuǎn)程連接的時(shí)候就要查看防火墻狀態(tài)和端口是否開放了。
# 1、查看防火墻狀態(tài)
systemctl status firewalld.service
# 2.查看開放端口
firewall-cmd --list-all
# 3.開放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#4然后在重新添加防火墻
firewall-cmd --zone=public --add-port=3305/tcp這個(gè)方案確實(shí)是可以讓我用navicat去連接到數(shù)據(jù)庫,但是我如果重啟linux之后就不可以了,并且我打開終端之后輸入ip a之后竟然報(bào)錯(cuò):ens33網(wǎng)卡失效,提示:ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qle 這下好了網(wǎng)卡也失效了,數(shù)據(jù)庫也不能用了
關(guān)閉防火墻最終解決方案:
- 1、關(guān)閉防火墻
systemctl disable firewalld
- 2、停止NetworkManager
systemctl stop NetworkManager
- 3、移除NetworkManager鏈接
systemctl disable NetworkManager
- 4、重啟網(wǎng)絡(luò)服務(wù)
service network restart
- 5、IP ADDR查看
ip addr

大功告成,打完收工。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux下mysql數(shù)據(jù)庫單向同步配置方法分享
mysql數(shù)據(jù)庫單向同步又叫做主從復(fù)制,是通過二進(jìn)制日志文件完成的,注意:mysql 數(shù)據(jù)庫的版本,兩個(gè)數(shù)據(jù)庫版本要相同2012-06-06
MYSQL連接不上本地服務(wù)器localhost的問題及解決
通過打開DOS窗口輸入mysql連接命令時(shí)報(bào)錯(cuò),發(fā)現(xiàn)本地MySQL服務(wù)未啟動(dòng),按照步驟在services.msc中找到并啟動(dòng)MySQL服務(wù),選擇“自動(dòng)”啟動(dòng)類型,依次點(diǎn)擊“啟動(dòng)”、“應(yīng)用”、“確定”,問題解決2026-03-03
關(guān)于mysql時(shí)間區(qū)間問題淺析
在很多地方都使用到了mysql的日期查詢,下面這篇文章主要給大家介紹了關(guān)于mysql時(shí)間區(qū)間問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
搞定mysql行轉(zhuǎn)列的7種方法以及列轉(zhuǎn)行
在MySQL數(shù)據(jù)庫中,有時(shí)候我們需要將一列數(shù)據(jù)轉(zhuǎn)化為行數(shù)據(jù),以便更好地進(jìn)行數(shù)據(jù)分析和處理,下面這篇文章主要給大家介紹了關(guān)于搞定mysql行轉(zhuǎn)列的7種方法以及列轉(zhuǎn)行的相關(guān)資料,需要的朋友可以參考下2024-03-03
mysql數(shù)據(jù)庫插入速度和讀取速度的調(diào)整記錄
由于項(xiàng)目變態(tài)需求;需要在一個(gè)比較短時(shí)間段急劇增加數(shù)據(jù)庫記錄(兩三天內(nèi),由于0增加至4億)。在整個(gè)過程調(diào)優(yōu)過程非常艱辛2012-07-07

