在CenteOs7上安裝mysql8.0(Super詳細版)

在CenteOs7上安裝mysql8.0

  • 為什么用Mysql8.0?
  • 如何下載
    • 下載地址
    • 需要提前準備
    • 下載步驟
  • 服務器上安裝
    • 如何上傳到服務器?
      • 通過wget下載到服務器并解壓
    • 開始安裝
      • 非必須安裝
      • 如果全部安裝執行順序
    • 安裝完后,啟動mysql
      • 使用“systemctl”檢測mysqld服務狀態:
      • 啟動mysql服務:
      • 再次查看mysqld服務的狀態:
      • 設置系統啟動時自動啟動mysql服務:
    • 修改mysql密碼
      • 查看mysql root的原始密碼:
      • 修改密碼
      • 驗證修改后的密碼進行登錄
    • 允許用戶遠程登錄
      • 這里我們需要將root用戶允許遠程登錄
      • 修改允許遠程登錄,并刷新配置
    • 線上服務器請開啟3306端口允許。
    • 參考文章

為什么用Mysql8.0?

??目前很多服務器上部署的都是5.7版本,但是Mysql目前都出到9.0了,有的人說新的不穩定等等…但是8.0以上版本性能有了質的飛躍,我覺得可以嘗試。性能才是真理。當然老系統運行穩定就不建議升級了。

如何下載

下載地址

??mysql官網下載地址

需要提前準備

#openssl
yum install openssl-devel -y
#net-tools
sudo yum install perl net-tools

下載步驟

在這里插入圖片描述
在這里插入圖片描述

服務器上安裝

如何上傳到服務器?

1、可以在本地下載好后通過文件傳輸。這里就不細講了。
2、直接通過wget下載到服務器

通過wget下載到服務器并解壓

 #創建文件夾mkdir /usr/local/mysql#進入創建的文件夾cd /usr/local/mysql#通過wget下載文件wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

這里我們下載的時候捆綁包。我們先解壓。

tar -xvf mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

解壓后得到如下安裝包
解壓后安裝包

開始安裝

??這里的安裝順序我們按照官方文檔給的來,依次安裝防止出錯。當然有些是非必須的。

非必須安裝

rpm -ivh mysql-community-libs-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-test-8.0.26-1.el8.x86_64.rpm

如果全部安裝執行順序

rpm -ivh mysql-community-common-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-plugins-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-embedded-compat-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-libs-compat-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-icu-data-files-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-debuginfo-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-devel-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-server-8.0.38-1.el7.x86_64.rpm  --nodeps --force

安裝完后,啟動mysql

使用“systemctl”檢測mysqld服務狀態:

??這個時候狀態一般是inactive(不活動的)

systemctl status mysqld

啟動mysql服務:

systemctl start mysqld

再次查看mysqld服務的狀態:

systemctl status mysqld

設置系統啟動時自動啟動mysql服務:

systemctl enable --now mysqld

修改mysql密碼

查看mysql root的原始密碼:

cat /var/log/mysqld.log

在這里插入圖片描述

修改密碼

??這里我們先用原始密碼登錄進去,執行命令后要求數據密碼,我們將初始密碼輸入進去。登錄成功后修改密碼。

mysql -uroot -p

??大家先按照這個去修改,因為如果首次登錄不修改密碼,是不能進行任何操作的。而且8.0的密碼策略有點變態啊,一般的密碼無法滿足要求,這里的話我們就直接copy下面的代碼,先將密碼修改了,接著我們再去修改密碼設置策略。

ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';

接著我們去修改密碼的強度為低就可以了

set global validate_password.policy=LOW;

然后我們通過ALTER USER 命令將密碼修改成自己想要的就好了。

驗證修改后的密碼進行登錄

成功

允許用戶遠程登錄

這里我們需要將root用戶允許遠程登錄

#查看root賬號的ip訪問權限(執行結果:localhost和127.0.0.1,是無法從外部連接的)
SELECT host FROM mysql.user WHERE User = 'root';

修改允許遠程登錄,并刷新配置

不建議這么做,我們一般是創建一個新的用戶,并在業務環境中只單獨對這個用戶賦予某個數據庫的權限。

#推薦使用
ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';
#修改
UPDATE user SET Host = '%' WHERE User = 'root';
#刷新
FLUSH PRIVILEGES;

線上服務器請開啟3306端口允許。

??在服務器上一定要使用復雜密碼!避免數據庫被攻擊。數據安全是大事!

# 這里是添加一個新用戶允許遠程登錄。
CREATE USER 'my_name'@'%' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON *.* TO 'my_name'@'%';
FLUSH PRIVILEGES;
#查詢服務器是否開啟3306端口
sudo firewall-cmd --query-port=3306/tcp
#開啟3306端口sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
#立即刷新
sudo firewall-cmd --reload
#再次查看狀態
sudo firewall-cmd --query-port=3306/tcp

??由于我的系統是虛擬上安裝的,導致部分依賴,需要自己安裝。
??同時希望大家可以反饋一下安裝過程遇到的問題,我這邊可以回答并更新這篇文章。

systemctl restart mysqld

參考文章

centos7 安裝mysql8

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40278.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40278.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40278.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python中unittest框架和pytest框架區別

unittest框架和pytest框架對比 類型unittest框架pytest框架安裝標準庫,無需額外安裝第三方單元測試庫,需要安裝用例編寫測試類必須要繼承 unittest.TestCase測試類命名以"Test"開頭,無需繼承,用例可以是函數&#xff0…

充分利用智慧校園人事系統,提升黨政職務管理

智慧校園人事系統中的黨政職務管理功能,是專為高校及教育機構設計的,旨在高效、精確地處理與黨政職務相關的各類事務,包括職務任命、任期管理、職責分配、考核評估等,以信息化手段促進黨務及行政工作的透明化、規范化。 該模塊首先…

根據服務器流量使用情況推算出網站流量的方法

根據服務器流量使用情況推算網站流量是一個涉及數據監測、分析和計算的過程。以下是一些基本步驟和方法: 1. 收集數據 首先,你需要獲取服務器的流量數據,這些數據通常包括: - 總流量:一定時間周期內服務器發送和接收的…

Jest是什么軟件?

Jest是一個由Facebook開發的開源JavaScript測試框架,它專為JavaScript項目的測試而設計,特別適用于React和Node.js環境。Jest以其簡單的配置、高效的性能和易用性而聞名,成為現代JavaScript項目中不可或缺的測試工具。以下是關于Jest的詳細解…

《Windows API每日一練》8.1 button控件二

8.1.4 按鈕 在BTNLOOK中顯示的前兩個按鈕是“按鍵”按鈕(push button)。此類按鈕是一種帶有 文本的矩形,這些文本是在CreateWindow調用的窗口文本參數中提供的。而CreateWindow 或MoveWindow調用中指定的寬度和高度則確定了矩形的大小。文本…

Spring-09

在 Spring 中如何注入一個 java 集合 在Spring中注入一個Java集合可以使用Autowired注解來實現。你可以在一個類的字段、構造函數或者setter方法上使用Autowired注解來注入一個集合。 下面是一個示例代碼,展示了如何在Spring中注入一個Java集合。 創建一個接口和實…

kotlin 中 string array 怎么表示

在 Kotlin 中&#xff0c;字符串數組可以使用 Array<String> 類型表示。你可以通過多種方式來創建和初始化字符串數組。以下是幾種常見的方法&#xff1a; 使用 arrayOf 函數&#xff1a; val stringArray arrayOf("Hello", "World", "Kotli…

面對全球新能源汽車合作發展創維汽車如何實現共贏

由全球新能源汽車合作組織(籌)主辦、中國電動汽車百人會承辦的首屆全球新能源汽車合作發展論壇(GNEV2024)于6月27日&#xff0c;6月28日在新加坡金沙會議展覽中心召開。創維汽車國際營銷公司總經理齊奎源受邀參會并作出分享。 本屆大會以推動全球新能源汽車產業協同發展與合作…

C語言課設--讀取文件并統計數據

讀取文件并統計數據 // 統計記事本英文字符數 //功能 &#xff1a; 讀 文件 a.txt 統計出各種 數字 大寫字母 小寫字母 0~9 A~Z a ~z各有多少個 程序主體框架如下&#xff1a; #include<stdio.h> int a[128]{0};//其中數組元素a[i]保存 ASCII 碼為i的字符的數量 v…

C++指針內存分配與釋放

文章目錄 指針分配與釋放 &#xff1a;C new/delete VS C malloc/freeC new/deleteC malloc/free 指針銷毀智能指針 指針分配與釋放 &#xff1a;C new/delete VS C malloc/free new&#xff1a;分配內存、調用類的構造函數。delete&#xff1a;調用類的析構函數和釋放內存&am…

【CSS in Depth 2 精譯】2.4 視口的相對單位

當前內容所在位置 第一章 層疊、優先級與繼承第二章 相對單位 2.1 相對單位的威力2.2 em 與 rem2.3 告別像素思維2.4 視口的相對單位 ??2.5 無單位的數值與行高2.6 自定義屬性2.7 本章小結 2.4 視口的相對單位 前面介紹過的 em 和 rem 是相對于 font-size 定義的&#xff0…

rust + mingw安裝教程

0. 說明 windows上安裝rust時&#xff0c;需要在電腦上安裝C/C構建工具。推薦的的兩種工具鏈可以選擇&#xff1a; visual studio build toolsmingw 官方推薦使用visual studio&#xff0c;若你的電腦上已經安裝了visual studio&#xff0c;則無需再安裝&#xff0c;直接安裝…

nodejs md文件轉html

const marked require(marked);// 要轉換的 Markdown 文本 const markdownText # Hello, Markdown!This is a paragraph.- List item 1 - List item 2 ;// 使用 marked 將 Markdown 轉換為 HTML const html marked(markdownText);console.log(html);我直接讀取md文件轉換結…

單目相機減速帶檢測以及測距

單目相機減速帶檢測以及測距項目是一個計算機視覺領域的應用&#xff0c;旨在使用一個攝像頭&#xff08;單目相機&#xff09;來識別道路上的減速帶&#xff0c;并進一步估計車輛與減速帶之間的距離。這樣的系統對于智能駕駛輔助系統&#xff08;ADAS&#xff09;特別有用&…

基于tensorflow2的目標檢測完整實現過程

序言 雖然tf1仍然在維護&#xff0c;但tf2畢竟是主流&#xff0c;如果不是項目有明確要求&#xff0c;建議直接選擇tf2。本文以tf2為例展開&#xff0c;總結從環境準備到使用自己的數據和tensorflow預訓練模型進行快速訓練和調用。對tensorflow和目標檢測算法有深入了解的&…

C++ 的常見算法 之二

C 的常見算法 之二 劃分序列partitionstable_partition 排序sortnth_element 二分查找binary_search 劃分序列 partition 重新排列 [first,last) 范圍內的元素&#xff0c;使得 pred 返回 true 的所有元素先于所有返回 false 的元素。迭代器返回指向第二組的第一個元素的點。…

Python開發——Python 線程入門

An Intro to Threading in Python – Real Python 1. 什么是線程&#xff1f; 線程是一個獨立的執行流程。這意味著您的程序將有兩件事情同時發生。但對于大多數 Python 3 實現來說&#xff0c;不同的線程實際上并不是同時執行的&#xff1a;它們只是看起來是這樣。 人…

Vue3中的jsx的babel配置

如果我們希望在項目中使用jsx&#xff0c;那么我們需要添加對jsx的支持&#xff1a; jsx我們通常會通過Babel來進行轉換&#xff08;React編寫的jsx就是通過babel轉換的&#xff09;&#xff1b;對于Vue來說&#xff0c;我們只需要在Babel中配置對應的插件即可&#xff1b; *…

Vue+Xterm.js+WebSocket+JSch實現Web Shell終端

一、需求 在系統中使用Web Shell連接集群的登錄節點 二、實現 前端使用Vue&#xff0c;WebSocket實現前后端通信&#xff0c;后端使用JSch ssh通訊包。 1. 前端核心代碼 <template><div class"shell-container"><div id"shell"/>&l…