MySQL安裝實戰分享

一、在 Windows 上安裝 MySQL

1. 下載 MySQL 安裝包

  • 訪問?MySQL 官方下載頁面。
  • 選擇適合你操作系統的版本。一般推薦下載?MySQL Installer

2. 運行安裝程序

  • 雙擊下載的安裝文件(例如?mysql-installer-community-<version>.msi)。
  • 如果出現安全提示,選擇“運行”以繼續安裝。

3. 安裝選項

  • 選擇安裝類型
    • 在安裝向導中,你將看到多種選項:
      • Developer Default:適合開發者使用,包含 MySQL Server、MySQL Workbench、MySQL Shell 等工具。
      • Server Only:僅安裝 MySQL Server。
      • Client Only:僅安裝客戶端工具。
      • Full:安裝所有 MySQL 組件。
      • Custom:選擇特定組件安裝。

4. 配置 MySQL 服務器

  • 選擇 Server Configuration Type

    • Development Machine:適合開發環境,分配較少的資源。
    • Server Machine:適合生產服務器,分配更多資源。
    • Dedicated Machine:資源完全分配給 MySQL,適合高負載環境。
  • 選擇 Authentication Method

    • 選擇?Use Strong Password Encryption?這是默認選項,推薦使用。

5. 設置 MySQL 賬戶

  • 輸入?root?用戶的密碼。確保密碼強度高,建議使用混合字符(如字母、數字和符號)。

6. 其他配置

  • 數據庫文件位置:可以選擇默認設置,或指定其他路徑保存數據庫文件。
  • Windows 服務設置:可選擇將 MySQL 作為服務安裝并設置自啟動。

7. 完成安裝并啟動 MySQL

  • 按照提示完成安裝。
  • 安裝完畢后,可以選擇啟動 MySQL Shell 來驗證安裝是否成功。
  • 在 Windows 上,你可以在命令提示符下運行以下命令:
//bash
mysql -u root -p  

?輸入剛才設置的?root?密碼,你將進入 MySQL 提示符。

二、在 Linux 上安裝 MySQL

以下步驟以 Ubuntu 為例,外其他發行版可能會有稍微不同的命令,但整體流程相似。

1. 更新系統軟件包

在終端中輸入以下命令,確保你的系統是最新的:

//bash
sudo apt update  
sudo apt upgrade  

2. 安裝 MySQL

執行以下命令來安裝 MySQL Server:

//bash
sudo apt install mysql-server  

安裝過程中,系統可能會提示安裝所需的其他依賴。

3. 啟動 MySQL 服務

  • 安裝完成后,MySQL 服務通常會自動啟動。你可以通過以下命令檢查其狀態:
//bash
sudo systemctl status mysql  

如果未運行,可以使用以下命令啟動 MySQL:

//bash
sudo systemctl start mysql  

4. 安全配置 MySQL

運行以下命令進行安全配置,包括設置?root?密碼、移除匿名用戶、禁止遠程登錄等:

sudo mysql_secure_installation  

在向導中你會遇到以下步驟:

  • 設置 root 用戶的密碼
  • 移除匿名用戶(推薦選擇 “Y”)。
  • 禁止 root 用戶遠程登錄(推薦選擇 “Y”)。
  • 刪除測試數據庫(推薦選擇 “Y”)。
  • 重新加載權限表(推薦選擇 “Y”)。

5. 測試 MySQL 是否正常運行

用以下命令登錄 MySQL:

mysql -u root -p  

輸入密碼后,你將看到 MySQL 提示符。

三、MySQL 基本操作

一旦 MySQL 安裝完成,你可以開始進行基本的數據庫操作。

1. 創建數據庫

CREATE DATABASE my_database;  

2. 切換數據庫

USE my_database;  

?3. 創建表

CREATE TABLE users (  id INT AUTO_INCREMENT PRIMARY KEY,  username VARCHAR(50) NOT NULL,  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  
);  

4. 插入數據

INSERT INTO users (username) VALUES ('example_user');  

5. 查詢數據

SELECT * FROM users;  

6. 更新數據

UPDATE users SET username = 'new_user' WHERE id = 1;  

7. 刪除數據

DELETE FROM users WHERE id = 1;  

8. 備份和恢復數據庫

  • 備份數據庫
    mysqldump -u root -p my_database > my_database_backup.sql  

四、常見問題和解決方案

1.無法連接 MySQL

1.?MySQL 服務未運行

解決方案:
  • 確保 MySQL 服務正在運行。
  • 在 Windows 上:
    • 打開?任務管理器,在?服務?標簽頁中查找?MySQL?服務,確保其狀態為“正在運行”。
    • 你也可以在命令提示符中使用以下命令:
net start mysql  

在 Linux 上:

  • 使用以下命令檢查 MySQL 服務狀態:
sudo systemctl status mysql  

如果服務未運行,可以使用以下命令啟動它:

sudo systemctl start mysql  

2.?網絡連接問題

解決方案:
  • 確保可以連接到運行 MySQL 的服務器(本地或遠程)。
  • 嘗試通過?ping?命令測試服務器是否可達:
ping [服務器IP或主機名]  
  • 如果 MySQL 運行在遠程服務器上,需要確保防火墻允許訪問 MySQL 的端口(通常是?3306)。

3.?用戶認證問題

解決方案:
  • 確保使用正確的用戶名和密碼進行連接。
  • 默認的?root?用戶密碼可能在安裝時設置,確保輸入的密碼無誤,包括大小寫。
  • 如果不確定密碼,可以通過以下步驟重置它:
    1. 停止 MySQL 服務:
      • Windows:在?任務管理器?中停止服務。
      • Linux:
sudo systemctl stop mysql  

? ? ? ? ? ? ? ? ? ? 2.以安全模式啟動 MySQL(跳過驗證):

sudo mysqld_safe --skip-grant-tables &  

? ? ? ? ? ? ? ? ? ? 3.以不檢查用戶權限的方式登錄 MySQL:

mysql -u root  

? ? ? ? ? ? ? ? ? ?4.更改密碼(例如,將密碼更改為?new_password):

FLUSH PRIVILEGES;  
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';  

? ? ? ? ? ? ? ? ? ?5.退出 MySQL,重啟服務:

sudo systemctl stop mysql  
sudo systemctl start mysql  

4.?權限問題

解決方案:

確保用戶具有連接所需的權限。可以使用以下 SQL 命令檢查用戶權限:

SHOW GRANTS FOR 'username'@'host';  

?如果用戶沒有權限,可以授予權限:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'host' WITH GRANT OPTION;  
FLUSH PRIVILEGES;  

5.?配置文件設置

解決方案:
  • 檢查?my.cnf(Linux)或?my.ini(Windows)配置文件中的設置。
  • 確保以下配置正確:
    • bind-address:如果 MySQL 是在遠程服務器上,應該設置為?0.0.0.0?以允許所有 IP 地址連接,或者指定允許連接的 IP 地址。
//ini
bind-address = 0.0.0.0  
  • 確保沒有配置限制連接的選項,如?skip-networking

6.?客戶端連接字符串錯誤

解決方案:
  • 確保在連接時使用正確的主機名、端口、用戶和數據庫名。例如:
mysql -h localhost -P 3306 -u root -p  
  • -h?表示主機名,-P?表示端口,-u?表示用戶名,-p?代表提示輸入密碼。

7.?SSL/TLS 配置問題

如果你的 MySQL 服務器配置為使用 SSL/TLS,則需要正確配置客戶端以支持 SSL 連接。檢查以下內容:

解決方案:
  • 檢查是否需要 SSL 連接:
    • 如果需要,確保傳遞?--ssl?參數來啟用 SSL。連接時可以使用:
mysql -u root -p --ssl  

8.?應用程序連接問題

如果使用應用程序連接到 MySQL(例如 PHP、Java 等),需要確保:

  • 數據庫連接字符串配置正確(主機、用戶名、密碼、數據庫名)。
  • 應用程序具備必要的驅動程序和庫(如 PDO、MySQLi 等)。

2、調試連接問題

如果上述步驟都無法解決連接問題,可以采取以下調試步驟:

  1. 查看 MySQL 日志

    • 查看錯誤日志(通常在?/var/log/mysql/error.log?或 Windows 的 MySQL 安裝路徑下)以獲取詳細的錯誤信息。
  2. 使用命令行工具

    • 嘗試使用 MySQL 客戶端工具(如?mysql?或?MySQL Workbench)從命令行連接,查看更具體的錯誤信息。
  3. 檢查防火墻設置

    • 確保操作系統防火墻或云服務提供商的防火墻規則允許訪問 MySQL 的端口。
  4. 參與社區和論壇

    • 如果仍然無法解決問題,考慮訪問 MySQL 官方社區論壇、Stack Overflow 等求助。

3.忘記 root 密碼

一、在 Linux 上重置 MySQL?root?密碼

步驟 1:停止 MySQL 服務

首先,停止正在運行的 MySQL 服務。你可以使用如下命令:

sudo systemctl stop mysql  

這可能會因你的系統配置而有所不同,如果使用的是?service?管理服務,可以使用:

sudo service mysql stop  

步驟 2:以安全模式啟動 MySQL

接下來,以安全模式啟動 MySQL,這樣可以在不檢查權限表的情況下運行 MySQL:

sudo mysqld_safe --skip-grant-tables &  

執行此命令后,會在后臺啟動 MySQL 服務。

步驟 3:以不檢查權限的方式登錄 MySQL

現在你可以通過以下命令以?root?用戶身份登錄 MySQL,而不需要密碼:

mysql -u root  

步驟 4:更改?root?用戶的密碼

登錄后,你需要先刷新權限,然后更改?root?用戶的密碼。執行以下 SQL 命令:

FLUSH PRIVILEGES;  
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';  

將?new_password?替換為你想要的新密碼。

步驟 5:退出 MySQL

在 MySQL 提示符下輸入?exit;?以退出 MySQL:

exit;  

步驟 6:重啟 MySQL 服務

最后,停止 MySQL 安全模式并重新啟動 MySQL 服務:

sudo systemctl stop mysql  
sudo systemctl start mysql  

你也可以使用?service?命令:

sudo service mysql restart  

步驟 7:驗證新密碼

使用新密碼登錄 MySQL,檢查是否可以成功:

mysql -u root -p  

輸入新密碼,應該能夠正常登錄。

二、在 Windows 上重置 MySQL?root?密碼

步驟 1:停止 MySQL 服務

  • 打開?任務管理器,找到?MySQL?服務,右鍵單擊并選擇?停止?服務。

或者,你可以在命令提示符中運行以下命令:

net stop mysql  

步驟 2:以安全模式啟動 MySQL

  • 打開命令提示符并導航到 MySQL 的安裝目錄,進入?bin?文件夾。通常這個路徑為:
//arduino
C:\Program Files\MySQL\MySQL Server <version>\bin  
  • 使用以下命令啟動 MySQL 服務器,跳過權限檢查:
mysqld --skip-grant-tables  

這將啟動 MySQL,但不載入權限表。

步驟 3:打開新的命令提示符窗口,并登錄 MySQL

在另一個命令提示符窗口中(保持第一個窗口打開),使用以下命令登錄 MySQL:

mysql -u root  

步驟 4:更改?root?用戶的密碼

執行以下 SQL 語句,重置?root?用戶密碼:

FLUSH PRIVILEGES;  
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';  

同樣,將?new_password?替換為你想要的新密碼。

步驟 5:退出 MySQL

輸入以下命令退出 MySQL:

exit;  

步驟 6:關閉正在運行的 MySQL 實例

回到第一個命令提示符窗口,使用?Ctrl + C?停止 MySQL 服務器。

步驟 7:重新啟動 MySQL 服務

返回到?任務管理器,右鍵單擊?MySQL?服務并選擇?啟動,或者在命令提示符中使用:

net start mysql  

步驟 8:驗證新密碼

使用新密碼登錄 MySQL:

mysql -u root -p  

輸入新密碼,確保能夠成功登錄。


三、注意事項

  1. 密碼安全性:確保設置的密碼復雜且難以猜測,包含大小寫字母、數字和特殊符號,以提高安全性。

  2. 使用 SSL:如果你的 MySQL 配置為使用 SSL/TLS,確保在重置后正確配置客戶端以使用 SSL 連接。

  3. 定期備份:為了避免未來出現類似問題,定期備份數據庫和用戶權限。

  4. 容災計劃:考慮制定容災計劃,以防服務器崩潰或用戶丟失密碼。

這就是重置 MySQL?root?密碼的完整步驟。如果你使用的是其它操作系統,步驟可能會略有不同。

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

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

相關文章

數據庫預熱

介紹 Database Warm-up &#x1f9e0; 一句話理解 數據庫是在應用啟動階段&#xff0c;提前建立數據庫連接 或 執行輕量 SQL 操作&#xff0c;從而 加快首個請求的響應速度 的一種優化手段 &#x1f3af; 為什么需要數據庫預熱&#xff1f; 當 FastAPI 或其他 Web 服務剛啟…

SearXNG

SearXNG 什么是 SearXNG &#xff1f;說白了&#xff0c;其實就是一個免費開源的搜索引擎。那為什么要本地安裝它呢&#xff1f; 看它官網的解釋(翻譯)&#xff0c;當然&#xff0c;其中官方也有一篇文檔解釋了為什么需要部署使用私有示例&#xff1a;為什么使用私有實例&…

js 顏色轉換分析

一、十六進制轉RGB function hexToRgba(hex) {// 移除 # 字符hex hex.replace(#, );// 處理簡寫形式如 #fffif (hex.length 3) {hex hex[0] hex[0] hex[1] hex[1] hex[2] hex[2];}// 轉換為十進制const r parseInt(hex.substring(0, 2), 16); // 截圖前兩位&#xff0…

智能資源管理機制-重傳機制

一、發送端資源管理的核心機制 1. 滑動窗口&#xff08;Sliding Window&#xff09; 這是TCP協議的核心優化設計&#xff1a; 窗口動態滑動&#xff1a;發送端不需要保留所有已發送的分組&#xff0c;只需維護一個"發送窗口"窗口大小&#xff1a;由接收方通告的接…

基于SSM+Layui畢業設計選題系統源碼

項目介紹 基于SSM+Layui畢業設計選題系統源碼,可以作為課程設計項目參考,該系統分為三個角色: 管理員:用戶管理(對學生和老師的信息進行維護),統計分析(對老師課題情況以及學生選題情況信息進行維護),修改密碼 老師:個人信息維護,畢業設計題目管理,報名學生管理…

通過uri獲取文件路徑手機適配

青銅版本 return contentResolver.query(this, arrayOf(MediaStore.MediaColumns.DATA), null, null).let {if (it?.moveToFirst() true) {val columnIndex it.getColumnIndex(MediaStore.MediaColumns.DATA)val path it.getString(columnIndex)it.close()return path}&quo…

vue模擬撲克效果

vue模擬撲克效果 效果圖&#xff1a; step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue <template><div class"poker-container"><!-- 使用復合數據對象實現雙行顯示 --><divv-for"(card, index) in POKER_…

基礎數學:圖論與信息論

微積分與概率論由此進&#xff1a;基礎數學&#xff1a;微積分和概率與統計-CSDN博客 線代與優化理論由此進&#xff1a;基礎數學&#xff1a;線性代數與優化理論-CSDN博客 數值分析與離散數學由此進&#xff1a;基礎數學&#xff1a;數值分析與離散數學-CSDN博客 四、圖論與…

構建智能期貨交易策略分析應用:MCP與AI的無縫集成

引言 隨著金融科技的快速發展&#xff0c;數據驅動的交易決策已成為期貨交易領域的重要趨勢。本文將深入探討一個結合了Model Content Protocol (MCP)和AI技術的期貨交易策略分析應用——Futures MCP。該應用不僅提供了豐富的技術分析工具&#xff0c;還通過MCP協議與大型語言…

0x02.Redis 集群的實現原理是什么?

回答重點 Redis 集群&#xff08;Redis cluster&#xff09;是通過多個 Redis 實例組成的&#xff0c;每個主節點實例負責存儲部分的數據&#xff0c;并且可以有一個或多個從節點作為備份。 具體是采用哈希槽&#xff08;Hash Slot&#xff09;機制來分配數據&#xff0c;將整…

基本的DOS命令

一.打開CMD方式&#xff1a; winR 輸入cmd 開始系統命令提示符 在任意文件夾下&#xff0c;shift&#xff0b;鼠標右擊&#xff0c;在此處打開命令 資源管理器的地址欄前面輸入cmd 以管理員身份打開cmd&#xff1a;選擇以管理員方式運行 二.常用的Dos命令 #盤符切換 盤符…

深度剖析:架構評估的常用方法與應用

架構評估是確保系統架構滿足需求、性能和質量等方面要求的重要環節&#xff0c;以下是一些常見的架構評估方法的詳細介紹&#xff1a; 一、基于調查問卷或檢查表的評估方法 1.方法概述&#xff1a;該方法通過設計一系列針對性的問題或檢查項&#xff0c;形成問卷或檢查表&…

代碼隨想錄算法訓練營第十六天

LeetCode題目: 530. 二叉搜索樹的最小絕對差501. 二叉搜索樹中的眾數236. 二叉樹的最近公共祖先3272. 統計好整數的數目(每日一題) 其他: 今日總結 往期打卡 530. 二叉搜索樹的最小絕對差 跳轉: 530. 二叉搜索樹的最小絕對差 學習: 代碼隨想錄公開講解 問題: 給你一個二叉搜…

基于雙閉環PID控制器的永磁同步電機控制系統匝間故障Simulink仿真

歡迎微?關注“電擊小子程高興的MATLAB小屋”獲取巨額優惠 1.模型簡介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2013Rb&#xff09;軟件。建議采用matlab2013 Rb及以上版本打開。&#xff08;若需要其他版本可聯系代為轉換&#xff0c;高于該版本的matlab均可正…

02-libVLC的視頻播放器:播放音視頻文件以及網絡流

libvlc_new(0, nullptr)功能:創建并初始化libVLC的核心實例,是使用所有libVLC功能的前提。 參數:第一個參數:參數數量(通常設為0)第二個參數:參數列表(通常為nullptr,表示使用默認配置)返回值:成功返回libvlc_instance_t*指針,失敗返回nullptr。注意事項:可通過參…

2025藍橋杯省賽C++B組解題思路

由于題面還沒出來&#xff0c;現在先口胡一下思路 填空題直接打表找規律或者亂搞一下就能出&#xff0c;從大題開始說。 1&#xff0c;題意&#xff1a; 給你一個數組&#xff0c;這個數組里有幾個數可以被一個連續遞增的數字區間求和得出 思路&#xff1a;詐騙題&#xff0c;顯…

防止郵件偽造的策略 SPF 介紹

SPF是Sender Policy Framework的縮寫&#xff0c;即發件人策略框架&#xff0c;是一種用于防止電子郵件偽造的技術&#xff0c;用來驗證發件人郵箱域名的真實性。以下是關于它的詳細說明&#xff1a; 1. 定義與作用 SPF是一種電子郵件驗證系統&#xff0c;它通過在域名的DNS記…

JavaScript Symbol與BigInt

目錄 Symbol類型 一、Symbol 的核心特性 1. 唯一性 2. 不可變性 3. 不可枚舉性 二、創建 Symbol 1. 基礎創建 2. 全局 Symbol 注冊表 三、Symbol 作為對象屬性 1. 定義 Symbol 屬性 2. 遍歷 Symbol 屬性 四、內置 Symbol 值 五、實際應用場景 1. 避免屬性名沖突 …

AI Agent工程師認證-學習筆記(3)——【多Agent】MetaGPT

學習鏈接:【多Agent】MetaGPT學習教程 源代碼鏈接(覺得很好,star一下):GitHub - 基于MetaGPT的多智能體入門與開發教程 MetaGPT鏈接:GitHub - MetaGPT 前期準備 1、獲取MetaGPT (1)使用pip獲取MetaGPT pip install metagpt==0.6.6#或者在國內加速安裝鏡像 #pip in…

【leetcode hot 100 416】分割等和子集

解法一&#xff1a;&#xff08;動態規劃&#xff09;①定義&#xff1a;dp[i]表示是否可以在nums找到元素之和為i&#xff0c;dp[sum/21] ②初始狀態&#xff1a;dp[0]true;dp[i]false ③狀態轉移方程&#xff1a;dp[i] dp[i] || dp[i - num]; class Solution {public boole…