偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL 安裝難?開玩笑!這份攻略讓你五分鐘搞定

數(shù)據(jù)庫 MySQL
你是不是看著網(wǎng)上各種MySQL安裝教程,要么步驟不全,要么版本太老,要么就是一堆專業(yè)術(shù)語看得云里霧里?別慌!今天這篇教程專門為小白量身定制,保證你跟著做一遍就能成功!
  • 適用人群:Linux小白、Ubuntu初學者、第一次接觸MySQL的同學
  • 系統(tǒng)版本:Ubuntu 20.04 LTS
  • 預計用時:5-10分鐘

你是不是也遇到過這樣的困擾:看著網(wǎng)上各種MySQL安裝教程,要么步驟不全,要么版本太老,要么就是一堆專業(yè)術(shù)語看得云里霧里?

別慌!今天這篇教程專門為小白量身定制,保證你跟著做一遍就能成功!我們用最簡單的APT包管理器來安裝,就像在手機上裝APP一樣簡單。

一、安裝前的準備工作

第一步:確認你的Ubuntu版本

首先,讓我們確認一下系統(tǒng)版本。打開終端(按Ctrl + Alt + T),輸入:

lsb_release -a

你應該看到類似這樣的輸出:

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.x LTS
Release:        20.04
Codename:       focal

如果看到20.04,那就對了!

第二步:更新系統(tǒng)包列表

這一步很重要,就像給你的"軟件商店"刷新一下最新的軟件列表:

sudo apt update

小貼士:輸入這個命令后,系統(tǒng)可能會要求你輸入密碼,這是正常的。輸入時屏幕上不會顯示密碼字符,直接輸入完按回車就行。

二、開始安裝MySQL

第三步:安裝MySQL服務器

現(xiàn)在是關(guān)鍵時刻!輸入這個"魔法咒語":

sudo apt install mysql-server

系統(tǒng)會問你是否繼續(xù)安裝(Do you want to continue? [Y/n]),直接按回車或者輸入Y然后回車。

這里會發(fā)生什么?

  • 系統(tǒng)開始下載MySQL相關(guān)文件
  • 自動安裝和配置
  • 你會看到一堆滾動的文字,這是正常的,耐心等待

第四步:檢查MySQL是否安裝成功

安裝完成后,讓我們檢查一下MySQL服務是否正在運行:

sudo systemctl status mysql

如果看到綠色的active (running)字樣,恭喜你,安裝成功了!

如果沒有自動啟動,可以手動啟動:

sudo systemctl start mysql

第四步補充:安裝MySQL開發(fā)庫(重要)

如果你后續(xù)需要開發(fā)MySQL相關(guān)的程序(比如用C/C++、Python等語言連接MySQL),建議現(xiàn)在就安裝MySQL的開發(fā)庫:

sudo apt install libmysqlclient-dev -y

這個庫的作用:

  • 提供MySQL的C語言頭文件和庫文件
  • 支持多種編程語言的MySQL連接器編譯
  • C/C++程序連接MySQL必備

什么時候需要:

  • 編寫C/C++程序連接MySQL
  • 安裝一些Python包(如mysqlclient)時需要
  • 編譯其他需要MySQL支持的軟件

安裝很快,現(xiàn)在裝上以后就不用擔心了,避免后續(xù)開發(fā)時再去找這個依賴。

三、MySQL安全配置(重要!)

第五步:運行安全配置腳本

MySQL安裝后默認設(shè)置比較寬松,我們需要加強一下安全性。MySQL 8.0的安全配置腳本運行起來很簡單:

sudo mysql_secure_installation

運行過程說明:

  • MySQL 8.0會自動檢測當前的認證方式
  • 如果root用戶使用auth_socket認證,腳本會正常運行
  • 直接按回車通常不會有問題

這個命令會啟動一個交互式的配置過程,跟著我的步驟來:

配置過程詳解:

① 是否安裝密碼驗證插件?

Would you like to setup VALIDATE PASSWORD plugin? (Press y|Y for Yes, any other key for No):
  • 新手建議:輸入n(不安裝)
  • 為什么:這個插件會強制要求復雜密碼,對新手來說可能比較麻煩

② 刪除匿名用戶?

Remove anonymous users? (Press y|Y for Yes, any other key for No):

建議:輸入y(刪除匿名用戶,提高安全性)

③ 禁止root遠程登錄?

Disallow root login remotely? (Press y|Y for Yes, any other key for No):

建議:輸入y(禁止遠程登錄,提高安全性)

④ 刪除test數(shù)據(jù)庫?

Remove test database and access to it? (Press y|Y for Yes, any other key for No):

建議:輸入y(刪除測試數(shù)據(jù)庫)

⑤ 重新加載權(quán)限表?

Reload privilege tables now? (Press y|Y for Yes, any other key for No):

建議:輸入y(立即生效配置)

四、測試MySQL安裝

第六步:登錄MySQL并配置root用戶認證方式

(1) 首次登錄MySQL

MySQL 8.0安裝后,root用戶默認使用auth_socket認證方式,這意味著你可以直接用sudo登錄,無需密碼:

sudo mysql

成功的標志:你會看到類似這樣的歡迎信息:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.xx-Ubuntu

mysql>

(2) 查看當前root用戶認證方式

在MySQL命令行中,輸入以下命令查看root用戶的認證信息:

SELECT user, host, plugin, authentication_string FROM mysql.user WHERE user='root';

你會看到類似這樣的輸出:

+------+-----------+-------------+-----------------------+
| user | host      | plugin      | authentication_string |
+------+-----------+-------------+-----------------------+
| root | localhost | auth_socket |                       |
+------+-----------+-------------+-----------------------+

解釋:

  • plugin顯示為auth_socket,表示使用socket認證
  • authentication_string為空,表示沒有設(shè)置密碼

(3) 修改root用戶認證方式(推薦)

為了方便日常使用和提高安全性,建議將root用戶的認證方式改為傳統(tǒng)的密碼認證(mysql_native_password):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

重要說明:

  • 將your_password替換為你想要設(shè)置的密碼
  • 密碼要足夠強壯,建議包含大小寫字母、數(shù)字和特殊字符

(4) 驗證修改結(jié)果

再次查看root用戶的認證信息:

SELECT user, host, plugin, authentication_string FROM mysql.user WHERE user='root';

現(xiàn)在你應該看到:

+------+-----------+-----------------------+-------------------------------------------+
| user | host      | plugin                | authentication_string                     |
+------+-----------+-----------------------+-------------------------------------------+
| root | localhost | mysql_native_password | *加密后的密碼字符串*                      |
+------+-----------+-----------------------+-------------------------------------------+

(5) 退出并重新登錄測試

退出MySQL:

EXIT;

現(xiàn)在用新的密碼登錄:

mysql -u root -p

系統(tǒng)會提示輸入密碼,輸入你剛才設(shè)置的密碼。

為什么要做這個修改?

  • 方便性:可以直接用密碼登錄,不需要sudo權(quán)限
  • 兼容性:某些應用程序可能不支持auth_socket認證
  • 安全性:明確的密碼認證更符合數(shù)據(jù)庫安全規(guī)范

看到mysql>這個提示符,說明你已經(jīng)成功進入MySQL了!

第七步:創(chuàng)建普通用戶(推薦)

在實際項目中,我們通常不直接使用root用戶,而是創(chuàng)建專門的普通用戶。這是一個好習慣!

(1) 創(chuàng)建新用戶

在MySQL命令行中執(zhí)行:

-- 創(chuàng)建新用戶(將username和password替換為你想要的用戶名和密碼)
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

舉個例子:

-- 創(chuàng)建一個名為myapp的用戶,密碼是myapp123
CREATE USER 'myapp'@'localhost' IDENTIFIED BY 'myapp123';

(2) 給用戶授權(quán)

新創(chuàng)建的用戶默認沒有任何權(quán)限,我們需要給它分配權(quán)限:

-- 給用戶授予某個數(shù)據(jù)庫的所有權(quán)限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

-- 如果要給用戶授予所有數(shù)據(jù)庫的權(quán)限(謹慎使用)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

實際例子:

-- 先創(chuàng)建一個測試數(shù)據(jù)庫
CREATE DATABASE testdb;

-- 給myapp用戶授予testdb數(shù)據(jù)庫的所有權(quán)限
GRANT ALL PRIVILEGES ON testdb.* TO 'myapp'@'localhost';

-- 刷新權(quán)限
FLUSH PRIVILEGES;

(3) 測試新用戶

退出當前連接:

EXIT;

用新用戶登錄:

mysql -u myapp -p

輸入密碼后,試試查看數(shù)據(jù)庫:

SHOW DATABASES;

你應該能看到testdb數(shù)據(jù)庫。

第八步:簡單測試

在MySQL命令行中,試試這些基本命令:

-- 查看所有數(shù)據(jù)庫
SHOW DATABASES;

-- 查看MySQL版本
SELECT VERSION();

-- 退出MySQL
EXIT;

注意:每個SQL命令后面要加分號;

五、設(shè)置MySQL開機自啟動

讓MySQL在每次開機時自動啟動:

sudo systemctl enable mysql

檢查是否設(shè)置成功:

sudo systemctl is-enabled mysql

如果返回enabled,就成功了!

六、常用MySQL管理命令

作為小白,記住這幾個命令就夠用了:

# 啟動MySQL服務
sudo systemctl start mysql

# 停止MySQL服務
sudo systemctl stop mysql

# 重啟MySQL服務
sudo systemctl restart mysql

# 查看MySQL服務狀態(tài)
sudo systemctl status mysql

# 連接MySQL
mysql -u root -p

七、可能遇到的問題及解決方案

問題1:忘記root密碼怎么辦?

情況1:如果你使用的是默認的auth_socket認證 可以直接用sudo登錄:

sudo mysql

然后重新設(shè)置密碼:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
EXIT;

情況2:如果你已經(jīng)設(shè)置了mysql_native_password認證但忘記密碼 可以這樣重置:

# 停止MySQL服務
sudo systemctl stop mysql

# 安全模式啟動MySQL
sudo mysqld_safe --skip-grant-tables &

# 無密碼登錄
mysql -u root

# 在MySQL中執(zhí)行
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
FLUSH PRIVILEGES;
EXIT;

# 重啟MySQL
sudo systemctl restart mysql

問題2:無法連接MySQL

如果遇到連接問題,檢查服務是否運行:

sudo systemctl status mysql

如果服務沒運行,啟動它:

sudo systemctl start mysql

問題3:端口被占用

MySQL默認使用3306端口,檢查端口是否被占用:

sudo netstat -tlnp | grep 3306

八、給初學者的小建議

  • 記住你的密碼:MySQL的root密碼一定要記住,建議寫在安全的地方
  • 定期備份:養(yǎng)成備份數(shù)據(jù)庫的好習慣
  • 學習基礎(chǔ)SQL:安裝只是第一步,學會基本的SQL語句才能真正使用MySQL
  • 使用圖形化工具:推薦安裝Navicat、DBeaver或MySQL Workbench,圖形界面更友好

九、總結(jié)

恭喜你!如果按照以上步驟操作,你現(xiàn)在已經(jīng):

  • 成功在Ubuntu 20.04上安裝了MySQL
  • 完成了基本的安全配置
  • 學會了基本的MySQL管理命令
  • 知道了常見問題的解決方法

MySQL已經(jīng)準備好為你的項目服務了!接下來你可以開始學習SQL語句,創(chuàng)建數(shù)據(jù)庫和表,開始你的數(shù)據(jù)庫之旅。

責任編輯:趙寧寧 來源: 跟著小康學編程
相關(guān)推薦

2015-12-03 14:10:26

systemd容器Linux

2021-11-07 23:46:32

MySQLSQL索引

2021-12-01 06:50:50

Docker底層原理

2009-11-05 10:56:31

WCF通訊

2023-04-04 09:13:15

2021-11-11 15:03:35

MySQLSQL索引

2025-03-18 09:20:00

Go語言Golang

2021-01-07 08:05:20

JenkinsDevOps

2024-04-28 12:55:46

redis頻道機制

2017-09-27 11:00:50

LinuxBash使用技巧

2020-11-09 09:59:50

Ajax技術(shù)

2009-11-06 16:05:37

WCF回調(diào)契約

2011-08-03 09:00:54

JavaJava 7

2020-02-21 19:54:09

HTTPS 配置手把手教

2022-12-13 10:05:27

定時任務任務調(diào)度操作系統(tǒng)

2011-02-21 17:48:35

vsFTPd

2024-02-21 21:19:18

切片Python語言

2009-10-29 11:39:52

ADO.NET連接池

2020-12-07 09:01:58

冪等系統(tǒng)f(f(x)) =f(

2017-06-07 18:40:33

PromiseJavascript前端
點贊
收藏

51CTO技術(shù)棧公眾號