Linux中安裝mysql8,轉載及注意事項

一、先前往官網下載mysql8
下載地址:

https://dev.mysql.com/downloads/

請添加圖片描述
選擇Linux
在這里插入圖片描述
在這里插入圖片描述
二、刪除Linux中的mysql(如果有的話),上傳安裝包
1、先查看mysql是否存在,命令如下:

rpm -qa|grep -i mysql

如果使用這個命令之后沒有出現任何內容,表示沒有安裝過mysql,如果有出現,則刪除。
2、如果存在,那么停止mysql,刪除所有的服務
在這里插入圖片描述
使用如下命令:

find / -name mysql

刪除出現的所有文件(如圖)
三、解壓安裝MySQL
1、解壓MySQL壓縮包

tar xvJf “你的安裝包名稱”,我這里是

tar xvJf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

2、重命名解壓后的MySQL
覺得解壓之后的MySQL文件夾名稱太長了,可以 mv “原文件名稱” “新文件名稱”,重命名一下,注意如果是在當前文件中重命名,新文件名中不能包含斜桿“/”,這是我的

mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql-8.0.31

3、進入MySQL根目錄,創建data文件夾
在這里插入圖片描述
進入根目錄

cd mysql-8.0.31/

創建data文件

mkdir data

四、創建mysql組和用戶
這個我沒發現有什么用,但很多教程都這么做,我這里也創建一下。
1、創建mysql組

groupadd mysql

2、創建mysql用戶

useradd -g mysql mysql

在這里插入圖片描述
出現這樣的提示表示已經創建過mysql組和用戶了。

3、將安裝的MySQL權限給mysql用戶
命令,chown -R “mysql組名”.“mysql用戶名” “mysql安裝根目錄”

chown -R mysql.mysql /usr/MYSQL/mysql-8.0.31

在這里插入圖片描述
五、MySQL初始化
1、初始化
在初始化之前提一嘴,Linux中的MySQL默認是區分表明大小寫的,如果你是安裝的也是MySQL8,那么不區分大小需要在數據庫初始化時設置,不然初始化后,在配置文件在設置重啟時是會報錯的。

進入MySQL的bin目錄進行初始化

./mysqld --user=mysql --basedir=/usr/MYSQL/mysql-8.0.31 --datadir=/usr/MYSQL/mysql-8.0.31/data --lower-case-table-names=1 --initialize

在這里插入圖片描述
–lower-case-table-names=1 即設置不區分表明大小寫,最后面的 dwW3</EIewj 為初始化生產的臨時密碼。
2、初始化失敗(2023-11-9更新,初始化成功可以不看)
進入bin目錄報如下錯:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

在這里插入圖片描述
原因:
這是一個與運行MySQL數據庫相關的問題。出現這個錯誤的原因是系統缺少了名為libaio.so.1的共享庫文件。
使用命令查看是否已安裝libaio軟件包,命令如下:

rpm -qa|grep libaio

在這里插入圖片描述
可以看到并沒有安裝libaio軟件包。
解決辦法:
先安裝numactl軟件包,命令如下:

yum -y install numactl.x86_64

在這里插入圖片描述
然后安裝libaio開發包,命令如下:

yum install  libaio-devel.x86_64

在這里插入圖片描述
再次查看是否安裝成功libaio軟件包

rpm -qa|grep libaio

在這里插入圖片描述
可以看到安裝成功了,再次初始化應該就可以成功了。
在這里插入圖片描述

六、修改MySQL配置文件
初次進入時配置是空的,進入命令

vim /etc/my.cnf

在這里插入圖片描述

[mysqld]
port=3306
basedir=/usr/MYSQL/mysql-8.0.31/  # MySQL根目錄
datadir=/usr/MYSQL/mysql-8.0.31/data/  # MySQL的data目錄
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0#解決“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

保存退出

七、添加服務到系統
進入MySQL根目錄,直接復制粘貼命令即可。

cp -a ./support-files/mysql.server /etc/init.d/mysql

在這里插入圖片描述
八、授權以及添加服務
這里授權和添加服務都是在MySQL的根目錄中操作。

1、授權

chmod +x /etc/init.d/mysql

在這里插入圖片描述
2、添加服務

chkconfig --add mysql

在這里插入圖片描述
九、啟動MySQL
1、啟動MySQL命令

service mysql start

2、查看MySQL狀態

service mysql status

在這里插入圖片描述

3、踩坑(2023-4-12更新,成功啟動的可以不看)
如果啟動時報如下錯
在這里插入圖片描述
一個原因是上面新建的data目錄沒有權限,使用如下命令加上:

chmod -R 755 /usr/local/mysql/mysql-8.0.32/data

此處一定注意:將data目錄改為你的data目錄,然后再使用
在這里插入圖片描述
然后再啟動mysql
在這里插入圖片描述可以看到報錯比上面少了,接下來看看上面報錯的日志,使用命令

cat /usr/local/mysql/mysql-8.0.32/data/iZ7xvbz75ed3prrdah1kceZ.err

在這里插入圖片描述
前面在初始化時設置了表明大小寫不敏感,這里要在mysql的配置文件中顯示設置一下
在這里插入圖片描述
保存退出,然后重啟mysql
在這里插入圖片描述
成功啟動。

十、將MySQL命令添加到服務
1、添加服務
命令: ln -s “你的MySQL根目錄/bin/mysql” /usr/bin ,這一步是為了能在任何地方通過用戶名和密碼登錄MySQL,這是我的

ln -s /usr/MYSQL/mysql-8.0.31/bin/mysql /usr/bin

在這里插入圖片描述
2、踩坑(2023-4-12更新,成功登錄mysql可以不看)
直到上一步都沒有出錯,在登錄mysql時報如下錯:
在這里插入圖片描述
可能是掛載的路徑錯了,到掛載目錄查看,命令如下:

cd /usr/bin

可以看到mysql服務是紅色的,并且一直在閃,正常的應該是綠色的。
在這里插入圖片描述
我當前的mysql根目錄是8.0.32,添加的時候寫成了8.0.31,怪不得會報錯。
解決辦法:刪除當前mysql的服務,重新添加。
先刪除,命令如下:

rm -rf /usr/bin/mysql

重新添加:

ln -s /usr/local/mysql/mysql-8.0.32/bin/mysql /usr/bin

可以看到mysql服務添加成功,可以登錄mysql了。
在這里插入圖片描述
十一、修改密碼
1、先使用前面初始化拿到的臨時密碼登錄

mysql -uroot -p

輸入的密碼是不顯示的
在這里插入圖片描述
2、切換到mysql數據庫
切換mysql命令

use mysql

如果切換mysql數據庫時出現這樣的錯就直接修改密碼:
在這里插入圖片描述
查詢用戶表命令

select Host, User from user;

在這里插入圖片描述
可以看到允許訪問root的host有哪些,%表示所有,這里只有localhost,修改密碼不成功可以看一下root對應的host的值。
注意:本人在此處出現了一個錯誤。

mysql報錯:You must reset your password using ALTER USER statement before executing this statement.

這是因為新安裝mysql后,登錄后,執行任何命令都會報錯:
You must reset your password using ALTER USER statement before executing this statement.
【解決辦法】
MySQL版本5.7.6版本以前用戶可以使用如下命令:

mysql> SET PASSWORD = PASSWORD('Admin2022!');  --此處后面跟隨的是用戶名一般是root

MySQL版本5.7.6版本開始的用戶可以使用如下命令:

mysql> ALTER USER USER() IDENTIFIED BY 'root';

【出現原因】
出現這種情況的原因:
MySQL版本5.6.6版本起,添加了password_expired功能,它允許設置用戶的過期時間。這個特性已經添加到mysql.user數據表,但是它的默認值是”N”,可以使用ALTER USER語句來修改這個值。

3、修改密碼
修改密碼的命令為:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'

修改之后需要刷新,使密碼生效

flush privileges;

下面講一下遠程授權和防火墻開放端口
在服務器上登錄MYSQL后,use mysql,依次執行如下兩句SQL
第一步:更新域屬性,'%'表示允許任意IP地址訪問:
輸入指令:

update user set host='%' where user ='root';

第二步:執行以上語句之后再執行:
輸入指令:

FLUSH PRIVILEGES;

第三步:再執行授權語句:
輸入指令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

可以重啟MYSQL

service mysql restart

防火墻需要開放對應端口
首先,查詢端口是否開啟

firewall-cmd --list-ports

如發現此處輸出列表中沒有3306端口,可以使用以下命名開放3306端口:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

此處接口使用Navacate連接數據庫

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

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

相關文章

《算法導論(第4版)》閱讀筆記:p4-p5

《算法導論(第4版)》學習第 3 天&#xff0c;p4-p5 總結&#xff0c;總計 2 頁。 一、技術總結 1.instance Thus, given the input sequence h31; 41; 59; 26; 41; 58i, a correct sorting algorithm returns as output the sequence h26; 31; 41; 41; 58; 59i. Such an inp…

第十四篇:系統分析師第三遍——15章

目錄 一、目標二、計劃三、完成情況四、意外之喜(最少2點)1.計劃內的明確認知和思想的提升標志2.計劃外的具體事情提升內容和標志 五、總結六、后面準備怎么做&#xff1f; 一、目標 通過參加考試&#xff0c;訓練學習能力&#xff0c;而非單純以拿證為目的。 1.在復習過程中&…

Easy云盤總結篇-登錄注冊

**說在前面&#xff1a;該項目是跟著B站一位大佬寫的&#xff0c;不分享源碼&#xff0c;支持項目付費 ** 獲取圖形驗證碼 可以看到這里有2兩種圖形驗證碼&#xff0c;分為&#xff1a; type0&#xff1a;如上圖下面那個&#xff0c;是完成操作后要進行注冊的驗證碼 type1: 如…

【前端知識】Vue3狀態組件Pinia詳細介紹

Vue3狀態組件Pinia詳細介紹 關聯知識 Pinia 組件介紹、核心原理及使用方式 Pinia 組件介紹 Pinia 是 Vue.js 的官方狀態管理庫&#xff0c;專為 Vue 3 設計&#xff0c;提供簡潔的 API 和強大的 TypeScript 支持。其核心組件包括&#xff1a; ? Store&#xff1a;狀態存儲容器…

mysql 云服務遠程linux創建數據庫

1. 本地使用已創建好的用戶創建數據庫出現問題 提示access deniey finalshell遠程創建新用戶 :~# mysql -u root -pR***34 > CREATE DATABASE r***e; > CREATE USER r**ue% IDENTIFIED BY Ry****34; > GRANT ALL PRIVILEGES ON ry_vue.* TO r***e%; > FLUSH PRI…

【“星瑞” O6 評測】 — CPU llama.cpp不同優化速度對比

前言 隨著大模型應用場景的不斷拓展&#xff0c;arm cpu 憑借其獨特優勢在大模型推理領域的重要性日益凸顯。它在性能、功耗、架構適配等多方面發揮關鍵作用&#xff0c;推動大模型在不同場景落地 1. Kleidi AI 簡介 Arm Kleidi 成為解決這些挑戰的理想方案&#xff0c;它能…

wireshark抓包也能被篡改?

wireshark本身并不能修改數據包&#xff0c;但是tcprewrite 可以修改數據包&#xff0c;然后通過tcpreplay 進行重放&#xff0c;這個時候wireshark抓的包&#xff0c;就是被篡改后的pcap包了。 ailx10 網絡安全優秀回答者 互聯網行業 安全攻防員 去咨詢 步驟一&#xff1a…

使用PyTorch進行熱狗圖像分類模型微調

本教程將演示如何使用PyTorch框架對預訓練模型進行微調&#xff0c;實現熱狗與非熱狗圖像的分類任務。我們將從數據準備開始&#xff0c;逐步完成數據加載、可視化等關鍵步驟。 1. 環境配置與庫導入 %matplotlib inline import os import torch from torch import nn from d2l…

內容中臺與企業內容管理核心差異剖析

功能定位與架構設計差異 在企業數字化進程中&#xff0c;內容中臺與企業內容管理&#xff08;ECM&#xff09;的核心差異首先體現在功能定位層面。傳統ECM系統以文檔存儲、版本控制及權限管理為核心&#xff0c;主要服務于企業內部知識庫的靜態管理需求&#xff0c;例如通過Ba…

使用PyMongo連接MongoDB的基本操作

MongoDB是由C語言編寫的非關系型數據庫&#xff0c;是一個基于分布式文件存儲的開源數據庫系統&#xff0c;其內容存儲形式類似JSON對象&#xff0c;它的字段值可以包含其他文檔、數組及文檔數組。在這一節中&#xff0c;我們就來回顧Python 3下MongoDB的存儲操作。 常用命令:…

第 12 屆藍橋杯 C++ 青少組中 / 高級組省賽 2021 年真題

一、選擇題 第 1 題 題目&#xff1a;下列符號中哪個在 C 中表示行注釋 ( )。 A. ! B. # C. ] D. // 正確答案&#xff1a;D 答案解析&#xff1a; 在 C 中&#xff0c;//用于單行注釋&#xff08;行注釋&#xff09;&#xff0c;從//開始到行末的內容會被編譯器忽略。選項 A…

【python】【UV】一篇文章學完新一代 Python 環境與包管理器使用指南

&#x1f40d; UV&#xff1a;新一代 Python 環境與包管理器使用指南 一、UV 是什么&#xff1f; UV 是由 Astral 團隊開發的高性能 Python 環境管理器&#xff0c;旨在統一替代 pyenv、pip、venv、pip-tools、pipenv 等工具。 1.1 UV 的主要功能 &#x1f680; 極速包安裝&…

前端性能優化2:結合HTTPS與最佳實踐,全面優化你的網站性能

點亮極速體驗&#xff1a;結合HTTPS與最佳實踐&#xff0c;為你詳解網站性能優化的道與術 在如今這個信息爆炸、用戶耐心極其有限的數字時代&#xff0c;網站的性能早已不是一個可選項&#xff0c;而是關乎生存和發展的核心競爭力。一個遲緩的網站&#xff0c;無異于在數字世界…

JavaWeb:vueaxios

一、簡介 什么是vue? 快速入門 <!-- 3.準備視圖元素 --><div id"app"><!-- 6.數據渲染 --><h1>{{ msg }}</h1></div><script type"module">// 1.引入vueimport { createApp, ref } from https://unpkg.com/vu…

Tauri聯合Vue開發中Vuex與Pinia關系及前景分析

在 TauriVue 的開發場景中&#xff0c;Vuex 和 Pinia 是兩種不同的狀態管理工具&#xff0c;它們的關系和前景可以從以下角度分析&#xff1a; 一、Vuex 與 Pinia 的關系 繼承與發展 Pinia 最初是作為 Vuex 5 的提案設計的&#xff0c;其目標是簡化 Vuex 的復雜性并更好地適配 …

Linux中的時間同步

一、時間同步服務擴展總結 1. 時間同步的重要性 多主機協作需求&#xff1a;在分布式系統、集群、微服務架構中&#xff0c;時間一致性是日志排序、事務順序、數據一致性的基礎。 安全協議依賴&#xff1a;TLS/SSL證書、Kerberos認證等依賴時間有效性&#xff0c;時間偏差可能…

【算法基礎】三指針排序算法 - JAVA

一、基礎概念 1.1 什么是三指針排序 三指針排序是一種特殊的分區排序算法&#xff0c;通過使用三個指針同時操作數組&#xff0c;將元素按照特定規則進行分類和排序。這種算法在處理包含有限種類值的數組時表現出色&#xff0c;最經典的應用是荷蘭國旗問題&#xff08;Dutch …

《操作系統真象還原》第十二章(2)——進一步完善內核

文章目錄 前言可變參數的原理實現系統調用write更新syscall.h更新syscall.c更新syscall-init.c 實現printf編寫stdio.h編寫stdio.c 第一次測試main.cmakefile結果截圖 完善printf修改main.c 結語 前言 上部分鏈接&#xff1a;《操作系統真象還原》第十二章&#xff08;1&#…

ICML2021 | DeiT | 訓練數據高效的圖像 Transformer 與基于注意力的蒸餾

Training data-efficient image transformers & distillation through attention 摘要-Abstract引言-Introduction相關工作-Related Work視覺Transformer&#xff1a;概述-Vision transformer: overview通過注意力機制蒸餾-Distillation through attention實驗-Experiments…

深度學習:AI 機器人時代

在科技飛速發展的當下&#xff0c;AI 機器人時代正以洶涌之勢席卷而來&#xff0c;而深度學習作為其核心驅動力&#xff0c;正重塑著我們生活與工作的方方面面。 從智能工廠的自動化生產&#xff0c;到家庭中貼心服務的智能助手&#xff0c;再到復雜環境下執行特殊任務的專業機…