Linux系統(tǒng)中安裝MySQL的詳細圖文步驟
前言
本文的主要內(nèi)容是在 Linux 上安裝 MySQL,以下內(nèi)容是源于 B站 - MySQL數(shù)據(jù)庫入門到精通 整理而來。
一、概述
MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
社區(qū)版:免費,但是不提供任何技術(shù)支持商業(yè)版:收費,可以試用30天,官方提供技術(shù)支持 二、下載
官網(wǎng):https://www.mysql.com/
進入官網(wǎng)之后點擊 DOWNLOADS
進入頁面
這里選擇 Downloads Archives
進入頁面,選擇 MySQL Community Server
根據(jù)你服務(wù)器的配置選擇,我服務(wù)器是 CentOS 7 所以 Operating System 選擇 Red Hat Enterprise Linux / Oracle Linux
,OS Version 選擇 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,64-bit)
,選擇第一個點擊 Download
下載。
以下我也提供了 MySQL 的安裝包供大家使用:
鏈接: 百度網(wǎng)盤
提取碼: 31v2
三、安裝
連上 Linux 服務(wù)器(這里的服務(wù)器我用的是云服務(wù)器),我先創(chuàng)建一個 mysql 的文件夾來存放安裝包。
# 在 /soft 目錄下創(chuàng)建一個空的文件夾 mysql mkdir /soft/mysql # 進入這個新建的文件夾下 cd /soft/mysql
然后上傳之前下載好的 Linux 下 MySQL 的安裝包,使用 rz
命令(有些終端工具是可以直接上傳文件的,比如 FinalShell)
在該目錄下再創(chuàng)建一個文件夾,并且將安裝包解壓到該文件夾中
# 在當前目錄下(mysql)下創(chuàng)建一個 mysql-8.0.26 文件夾 mkdir mysql-8.0.26 # 解壓安裝包到該目錄下 tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26
解壓完成之后可以切換到 mysql-8.0.26
目錄下查看解壓后的文件
可以看到解壓后的文件都是 rpm 文件,所以需要用到 rpm
包資源管理器相關(guān)的指令安裝這些 rpm 的安裝包
在安裝執(zhí)行 rpm 安裝包之前先下載 openssl-devel
插件,因為 mysql 里面有些 rpm 的安裝依賴于該插件。
yum install openssl-devel
安裝完該插件之后,依次
執(zhí)行以下命令安裝這些 rpm 包
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
注意:安裝 rpm 包時提示 依賴檢測失敗
,請詳見文件末尾 可能遇到的問題
尋求解決方案。
在 Linux 中 MySQL 安裝好了之后系統(tǒng)會自動的注冊一個服務(wù),服務(wù)名稱叫做 mysqld
,所以可以通過以下命令操作 MySQL:
啟動 MySQL 服務(wù):systemctl start mysqld
重啟 MySQL 服務(wù):systemctl restart mysqld
關(guān)閉 MySQL 服務(wù):systemctl stop mysqld
這里先啟動 MySQL 服務(wù)
rpm 安裝 MySQL 會自動生成一個隨機密碼,可在 /var/log/mysqld.log
這個文件中查找該密碼
cat /var/log/mysqld.log
A temporay password is generated for root
@localhost: ****密碼****
,這里我安裝的 MySQL 生成的臨時密碼是:JAgc=S-:4fGC
,賬號是 root
,有了賬號和密碼之后就可以連接 MySQL 了。
# 連接 MySQL mysql -u root -p
到此 Linux 上安裝 MySQL 基本結(jié)束。
四、卸載
卸載 MySQL 前需要先停止 MySQL
命令:systemctl stop mysqld
停止 MySQL 之后查詢 MySQL 的安裝文件:rpm -qa | grep -i mysql
卸載上述查詢出來的所有的 MySQL 安裝包
rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-server-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-common-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-libs-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-client-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-libs-compat-8.0.26-1.el7.x86_64 --nodeps
刪除MySQL的數(shù)據(jù)存放目錄
rm -rf /var/lib/mysql/
刪除MySQL的配置文件備份
rm -rf /etc/my.cnf.rpmsave
五、常用設(shè)置
(1)修改 root 用戶密碼
如果你覺得 MySQL 自動生成的密碼太難記憶的話,可以連接 MySQL 之后進行修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mike.8080';
這里可能會提示 Your password does not satisfy the current policy requirements
,意思是您的密碼不符合當前規(guī)定的要求,你要么就把你的密碼設(shè)置得復(fù)雜點,要么就去降低密碼的校驗規(guī)則。
在 Linux 上安裝 MySQL 時會自動安裝一個校驗密碼的插件,默認密碼檢查策略要求密碼必須包含:大小寫字母、數(shù)字和特殊符號,并且長度不能少于8位。修改密碼時新密碼是否符合當前的策略,不滿足則會提示ERROR
官網(wǎng)上能查到這個密碼校驗的規(guī)則,文檔中搜索:validate_password
所以可以將這個限制密碼位數(shù)設(shè)小一點,復(fù)雜度類型調(diào)底一點
# 將密碼復(fù)雜度校驗調(diào)整簡單類型 set global validate_password.policy = 0; # 設(shè)置密碼最少位數(shù)限制為 4 位 set global validate_password.length = 4;
就可以設(shè)置較為簡單的密碼了。
(2)創(chuàng)建用戶與權(quán)限分配
默認的 root 用戶只能當前節(jié)點localhost訪問,是無法遠程訪問的,我們還需要創(chuàng)建一個新的賬戶,用于遠程訪問
語法格式:CREATE USER <用戶名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
# mysql 8.0 以下 create user 'mike'@'%' IDENTIFIED BY 'mike8080'; # mysql 8.0 create user 'mike'@'%' IDENTIFIED WITH mysql_native_password BY 'mike8080';
PS: mysql8.0 的默認密碼驗證不再是 password 。所以在創(chuàng)建用戶時,create user ‘username’@‘%’ identified by ‘password’; 客戶端是無法連接服務(wù)的,所以在創(chuàng)建用戶的時候需要加上
WITH mysql_native_password
創(chuàng)建完用戶之后還需要給用戶分配權(quán)限,這里我將 mike
這個用戶分配了所有的權(quán)限
grant all on *.* to 'mike'@'%';
如果你想權(quán)限分配得更細一點可參考博客:mysql給用戶分配權(quán)限
六、可能遇到的問題
(1)啟動 MySQL 時提示 Failed to start mysqld.service: Unit not found.
如果看到這個提示的話說明 mysql 安裝失敗了,我的建議是卸載重新安裝。
(2)安裝 rpm 包時提示 依賴檢測失敗
解決辦法:卸載mariadb-libs
rpm -e mariadb-libs --nodeps
再重新安裝失敗的那個 rpm 包
(3)遠程連接時出錯
這個錯誤提示出現(xiàn)的可能有很多,我就列舉幾個我能想到的吧
首先去檢查你的 MySQL 是否關(guān)掉了,如果關(guān)了的話重啟再連接服務(wù)器上面的防火墻是否是開著的狀態(tài),或者 3306 的端口是否對外開放如果你的服務(wù)器是云服務(wù)器的話,需要去云服務(wù)器上面開放 3306 的端口
第一種情況我就不贅述了,如果你的 MySQL 是安裝在虛擬機上面的話,簡單粗暴的方式是直接關(guān)閉防火墻
# 關(guān)閉防火墻 systemctl stop firewalld.service # 查看防火墻的狀態(tài) firewall-cmd --state # 禁止firewall開機啟動 systemctl disable firewalld.service
或者為了安全,只開放特定的端口號,MySQL 默認端口是 3306
# 關(guān)閉防火墻 systemctl stop firewalld.service # 3306 端口對外開放 firewall-cmd --remove-port=3306/tcp --permanent # 重啟防火墻 firewall-cmd --reload
但是,如果你 MySQL 并不是安裝在虛擬機上的,而是放到云服務(wù)器上面,那你必須還得在云服務(wù)上面開放這幾個端口
比方說我的 MySQL 是運行在 某某云 上面的,我就得做如下設(shè)置:
找到我的服務(wù)器,點擊 更多,選擇 管理
進入下一個頁面之后,選擇 防火墻
添加 3306
端口對外開放
測試連接
參考博客:
CentOS7系統(tǒng)安裝MySQL指導(dǎo)手冊
MySQL如何創(chuàng)建用戶
MySQL創(chuàng)建用戶(CREATE USER)
MySQL 8.0 配置mysql_native_password身份驗證插件的密碼
mysql給用戶分配權(quán)限
到此這篇關(guān)于Linux系統(tǒng)中安裝MySQL的詳細圖文步驟的文章就介紹到這了,更多相關(guān)Linux安裝MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL數(shù)據(jù)庫GTID實現(xiàn)主從復(fù)制實現(xiàn)(超級方便)
這篇文章主要介紹了MYSQL數(shù)據(jù)庫GTID實現(xiàn)主從復(fù)制實現(xiàn)(超級方便),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11MySQL?優(yōu)化利器?SHOW?PROFILE?的實現(xiàn)原理及細節(jié)展示
這篇文章主要介紹了MySQL優(yōu)化利器SHOW?PROFILE的實現(xiàn)原理,通過實例代碼展示SHOW PROFILE的用法,需要的朋友可以參考下2024-12-12