虛擬機Centos7安裝MySQL數(shù)據(jù)庫實踐
前幾日在虛擬機上面安裝自己的MySQL數(shù)據(jù)庫,中間遇到了很多問題,不管是不能安裝還是后面用navicat去連接出錯等等問題。所有寫下來讓各位少走一點彎路。因為我虛擬機已經(jīng)安裝所以在這里借用的都是在網(wǎng)上找的圖,如有侵,請聯(lián)系我刪圖。
安裝MySQL數(shù)據(jù)庫
下載wget命令
打開虛擬機centos終端輸入下方命令
注意:打開虛擬機時記得將自己的賬號切換到最大權(quán)限的賬號我的時root所以就切換到了root賬戶,至于怎么切換的可以在控制臺輸入su命令回車然后輸入你的root賬號密碼即可,如下圖所示賬號切換成功
yum -y install wget
下載MySQL安裝包
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝MySQL
可根據(jù)不同版本進行安裝下載
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安裝MySQL服務(wù)
1、進入cd /etc/yum.repos.d/目錄
cd /etc/yum.repos.d/
2、安裝mysql服務(wù)(安裝過程很慢,并且可能會出現(xiàn)問題)
yum -y install mysql-server
注意:在安裝過程中可能會遇到以下類似問題:
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
安裝完成后啟動mysql服務(wù)
systemctl start mysqld
雖然到這一步已經(jīng)可以將mysql安裝好并且啟動了,但是這個時候我們還不知道m(xù)ysql的密碼和連接ip這些。所以接下來需要我們?nèi)バ薷膍ysql的密碼和我們?nèi)ミB接MySQL的ip等操作
獲取MySQL臨時密碼
1、使用下方命令獲取mysql臨時密碼,一定要記住這個密碼后續(xù)要用到改密碼
grep 'temporary password' /var/log/mysqld.log
我的臨時密碼是:jsxGRs5kz,ju
2、先使用臨時密碼進行登錄MySQL,輸入以下命令后輸入自己的臨時密碼
mysql -uroot -p
3、把密碼校驗強度改成低(不改也可以,我這里是為了方便我本地進行測試。但一定要記得自己的數(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就算是安裝好了,但是如果我們遠程訪問數(shù)據(jù)庫怎么去操作呢?接下來就是需要允許遠程訪問
允許遠程訪問數(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
主機登錄登錄,所以需要修改權(quán)限,將localhost修改成%,那么都可訪問
- 2.5、修改為允許任何地址訪問
update user set Host='%' where User='root';
- 2.6、刷新一下權(quán)限,再查詢一下,此時的localhost就變成了%
flush privileges;
- 2.7、退出mysql打開navicat連接數(shù)據(jù)庫
在這里還有一個小問題需要闡述一下;
問題1: 這里關(guān)閉防火墻我遇到了一個坑,剛開始我確實是關(guān)閉了防火墻,但是我的navicat就是不能連接上這個數(shù)據(jù)庫。然后找問題所在,看是不是權(quán)限不夠、是不是允許所有人訪問、是不是防火墻沒關(guān)閉。
方案:
修改遠程訪問權(quán)限和登錄密碼后發(fā)現(xiàn)還是不能進行遠程連接的時候就要查看防火墻狀態(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
這個方案確實是可以讓我用navicat去連接到數(shù)據(jù)庫,但是我如果重啟linux之后就不可以了,并且我打開終端之后輸入ip a之后竟然報錯: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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL報錯 table “xxx” doesn‘t exit的解決
本文主要介紹了MySQL報錯 table “xxx” doesn‘t exit的解決,主要原因是英文字母大小寫敏感導致,下面就來介紹一下解決方法,感興趣的可以了解一下2023-10-10MySQL 中 DATE_FORMAT() 函數(shù)的使用及應(yīng)用場景
DATE_FORMAT() 是 MySQL 中的一個內(nèi)置函數(shù),用于格式化日期和時間數(shù)據(jù),它可以根據(jù)指定的格式字符串來展示日期和時間,使得數(shù)據(jù)更容易閱讀和理解,本文檔將詳細介紹 DATE_FORMAT() 函數(shù)的使用方法及其常見應(yīng)用場景,感興趣的朋友一起看看吧2024-12-12深入理解MySQL雙字段分區(qū)(OVER(PARTITION BY A,B)
本文主要介紹了MySQL中的窗口函數(shù)雙字段分區(qū)功能(OVER(PARTITION BY A,B),分析其在數(shù)據(jù)分組和性能優(yōu)化中的應(yīng)用,提高查詢效率,具有一定的參考價值,感興趣的可以了解一下2024-09-09Mysql InnoDB引擎的索引與存儲結(jié)構(gòu)詳解
這篇文章主要給大家介紹了Mysql InnoDB引擎的索引與存儲結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2019-01-01MySql中如何使用 explain 查詢 SQL 的執(zhí)行計劃
explain命令是查看查詢優(yōu)化器如何決定執(zhí)行查詢的主要方法。這篇文章重點給大家介紹MySql中如何使用 explain 查詢 SQL 的執(zhí)行計劃,感興趣的朋友一起看看吧2018-05-05MySql安裝與配置方法(MySQL添加用戶、刪除用戶與授權(quán))
這篇文章主要介紹了MySql安裝與配置方法(MySQL添加用戶、刪除用戶與授權(quán))的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08mysql5.5與mysq 5.6中禁用innodb引擎的方法
這篇文章主要介紹了mysql5.5中禁用innodb引擎的方法,需要的朋友可以參考下2014-04-04MySQL字段類型與Java實體類類型對應(yīng)轉(zhuǎn)換關(guān)系詳解
這篇文章主要介紹了MySQL字段類型與Java實體類類型對應(yīng)轉(zhuǎn)換關(guān)系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06