欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ubuntu?22.04安裝mysql?8.0步驟與避坑指南

 更新時(shí)間:2023年12月06日 11:15:27   作者:BigDataToAI  
MySQL最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件之一,這篇文章主要給大家介紹了關(guān)于ubuntu?22.04安裝mysql?8.0步驟與避坑指南的相關(guān)資料,需要的朋友可以參考下

前言

MySQL 是一個(gè)開源數(shù)據(jù)庫管理系統(tǒng),可作為流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆棧的一部分安裝。 它實(shí)現(xiàn)了關(guān)系模型并使用結(jié)構(gòu)化查詢語言( SQL)來管理其數(shù)據(jù)。

本教程將介紹如何在 Ubuntu 22.04 服務(wù)器上安裝 MySQL 8.0 版。 通過完成它,你將擁有一個(gè)可用的關(guān)系數(shù)據(jù)庫,并且可以使用它來構(gòu)建您的下一個(gè)網(wǎng)站或應(yīng)用程序。

安裝MySQL

在 Ubuntu 22.04 上,您可以使用 APT 包存儲庫安裝 MySQL。 在撰寫本文時(shí),默認(rèn) Ubuntu 存儲庫中可用的 MySQL 版本為 8.0.33 版。

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql.service

這些命令將安裝并啟動(dòng) MySQL,但不會提示設(shè)置密碼或進(jìn)行任何其他配置更改。

配置MySQL

對于 MySQL 的全新安裝,您需要運(yùn)行數(shù)據(jù)庫管理系統(tǒng)包含的安全腳本。 該腳本更改了一些不太安全的默認(rèn)選項(xiàng),例如不允許遠(yuǎn)程 root 登錄和刪除示例用戶。

警告:自 2022 年 7 月起,如果您在沒有進(jìn)一步配置的情況下運(yùn)行 mysql_secure_installation 腳本,將會發(fā)生錯(cuò)誤。 原因是此腳本將嘗試為安裝的根 MySQL 帳戶設(shè)置密碼,但默認(rèn)情況下在 Ubuntu 安裝上,此帳戶未配置為使用密碼進(jìn)行連接。

在 2022 年 7 月之前,此腳本會在嘗試設(shè)置根帳戶密碼并繼續(xù)執(zhí)行其余提示后靜默失敗。 然而,在撰寫本文時(shí),腳本將在您輸入并確認(rèn)密碼后返回以下錯(cuò)誤:

Output
 ... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

New password:

這將導(dǎo)致腳本進(jìn)入遞歸循環(huán),您只能通過關(guān)閉終端窗口才能退出。

由于 mysql_secure_installation 腳本執(zhí)行許多其他操作,這些操作對確保 MySQL 安裝安全很有用,因此仍然建議您在開始使用 MySQL 管理數(shù)據(jù)之前運(yùn)行它。 但是,為避免進(jìn)入此遞歸循環(huán),您需要首先調(diào)整 root MySQL 用戶的身份驗(yàn)證方式。

首先進(jìn)入MySQL終端

sudo mysql

然后運(yùn)行以下 ALTER USER 命令將 root 用戶的身份驗(yàn)證方法更改為使用密碼的方法。 以下示例將身份驗(yàn)證方法更改為 mysql_native_password:

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

然后退出MySQL

exit

之后,您可以毫無問題地運(yùn)行 mysql_secure_installation 腳本。

以sudo權(quán)限運(yùn)行mysql_secure_installation

sudo mysql_secure_installation

這將引導(dǎo)您完成一系列提示,您可以在其中對 MySQL 安裝的安全選項(xiàng)進(jìn)行一些更改。 第一個(gè)提示將詢問您是否要設(shè)置驗(yàn)證密碼插件,該插件可用于在將新 MySQL 用戶視為有效之前測試其密碼強(qiáng)度。

如果您選擇設(shè)置驗(yàn)證密碼插件,則您創(chuàng)建的任何使用密碼進(jìn)行身份驗(yàn)證的 MySQL 用戶都需要具有滿足您選擇的策略的密碼:

Output
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
 2

無論您是否選擇設(shè)置驗(yàn)證密碼插件,下一個(gè)提示將是為 MySQL root 用戶設(shè)置密碼。 輸入并確認(rèn)您選擇的安全密碼:

Output
Please set the password for root here.


New password:

Re-enter new password:

請注意,即使您已經(jīng)為 root MySQL 用戶設(shè)置了密碼,該用戶當(dāng)前未配置為在連接到 MySQL shell 時(shí)使用密碼進(jìn)行身份驗(yàn)證。

如果您使用了驗(yàn)證密碼插件,您將收到有關(guān)新密碼強(qiáng)度的反饋。 然后腳本將詢問您是否要繼續(xù)使用剛剛輸入的密碼,或者是否要輸入一個(gè)新密碼。 假設(shè)您對剛剛輸入的密碼的強(qiáng)度感到滿意,請輸入 Y 以繼續(xù)腳本:

Output
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

從那里,您可以按 Y,然后按 ENTER 接受所有后續(xù)問題的默認(rèn)值。 這將刪除一些匿名用戶和測試數(shù)據(jù)庫,禁用遠(yuǎn)程 root 登錄,并加載這些新規(guī)則,以便 MySQL 立即執(zhí)行您所做的更改。

注意:安全腳本完成后,您可以重新打開 MySQL 并將 root 用戶的身份驗(yàn)證方法改回默認(rèn)值 auth_socket。 要使用密碼以 root MySQL 用戶身份進(jìn)行身份驗(yàn)證,請運(yùn)行以下命令:

mysql -u root -p

然后使用此命令返回使用默認(rèn)身份驗(yàn)證方法:

這意味著您可以使用 sudo mysql 命令再次以 root 用戶身份連接到 MySQL。

腳本完成后,您的 MySQL 安裝將得到保護(hù)。 您現(xiàn)在可以繼續(xù)使用 MySQL 客戶端創(chuàng)建專用數(shù)據(jù)庫用戶。

創(chuàng)建專用 MySQL 用戶并授予權(quán)限

安裝后,MySQL 會創(chuàng)建一個(gè) root 用戶帳戶,您可以使用它來管理數(shù)據(jù)庫。 該用戶對 MySQL 服務(wù)器具有完全權(quán)限,這意味著它對每個(gè)數(shù)據(jù)庫、表、用戶等具有完全控制權(quán)。 因此,最好避免在管理功能之外使用此帳戶。 此步驟概述了如何使用 root MySQL 用戶創(chuàng)建新用戶帳戶并授予其權(quán)限。

一旦您有權(quán)訪問 MySQL 終端,您就可以使用 CREATE USER 語句創(chuàng)建一個(gè)新用戶。 這些遵循以下一般語法:

CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';

在 CREATE USER 之后,您指定一個(gè)用戶名。 緊接著是一個(gè) @ 符號,然后是該用戶將從中連接的主機(jī)名。 如果您只打算從您的 Ubuntu 服務(wù)器本地訪問此用戶,您可以指定 localhost。 將用戶名和主機(jī)用單引號括起來并不總是必要的,但這樣做有助于防止錯(cuò)誤。

CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

某些版本的 PHP 存在一個(gè)已知問題,會導(dǎo)致 caching_sha2_password 出現(xiàn)問題。 如果您計(jì)劃將此數(shù)據(jù)庫與 PHP 應(yīng)用程序(例如 phpMyAdmin)一起使用,您可能希望創(chuàng)建一個(gè)用戶,該用戶將使用較舊但仍然安全的 mysql_native_password 插件進(jìn)行身份驗(yàn)證:

CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

如果您不確定,您始終可以創(chuàng)建一個(gè)使用 caching_sha2_plugin 進(jìn)行身份驗(yàn)證的用戶,然后稍后使用此命令對其進(jìn)行更改:

ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

創(chuàng)建新用戶后,您可以授予他們適當(dāng)?shù)臋?quán)限。 授予用戶權(quán)限的一般語法如下(需要替換PRIVILEGE為CREATE等):

GRANT PRIVILEGE ON database.table TO 'username'@'host'  WITH GRANT OPTION;

此示例語法中的 PRIVILEGE 值定義允許用戶對指定數(shù)據(jù)庫和表執(zhí)行的操作。 您可以在一個(gè)命令中向同一用戶授予多個(gè)權(quán)限,方法是用逗號分隔每個(gè)權(quán)限。 您還可以通過輸入星號 (*) 代替數(shù)據(jù)庫和表名稱來全局授予用戶權(quán)限。 在 SQL 中,星號是用于表示“所有”數(shù)據(jù)庫或表的特殊字符。

為了說明這一點(diǎn),以下命令授予用戶創(chuàng)建、更改和刪除數(shù)據(jù)庫、表和用戶的全局權(quán)限,以及從服務(wù)器上的任何表插入、更新和刪除數(shù)據(jù)的權(quán)力。 它還授予用戶使用 SELECT 查詢數(shù)據(jù)、使用 REFERENCES 關(guān)鍵字創(chuàng)建外鍵以及使用 RELOAD 權(quán)限執(zhí)行 FLUSH 操作的能力。 但是,您應(yīng)該只授予用戶他們需要的權(quán)限,因此請根據(jù)需要隨意調(diào)整您自己用戶的權(quán)限。

運(yùn)行此 GRANT 語句,將 sammy 替換為您自己的 MySQL 用戶名,以將這些權(quán)限授予您的用戶:

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, INDEX, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

請注意,此語句還包括 WITH GRANT OPTION。 這將允許您的 MySQL 用戶將其擁有的任何權(quán)限授予系統(tǒng)上的其他用戶。

警告:一些用戶可能想授予他們的 MySQL 用戶 ALL PRIVILEGES 權(quán)限,這將為他們提供類似于 root 用戶權(quán)限的廣泛超級用戶權(quán)限,如下所示:

GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

不應(yīng)輕易授予如此廣泛的權(quán)限,因?yàn)槿魏斡袡?quán)訪問此 MySQL 用戶的人都將完全控制服務(wù)器上的每個(gè)數(shù)據(jù)庫。

在此之后,最好運(yùn)行 FLUSH PRIVILEGES 命令。 這將釋放服務(wù)器由于前面的 CREATE USER 和 GRANT 語句而緩存的所有內(nèi)存:

FLUSH PRIVILEGES;

然后你就可以推出mysql終端

exit

將來,要以新的 MySQL 用戶身份登錄,您將使用如下命令:

mysql -u sammy -p

-p 標(biāo)志將導(dǎo)致 MySQL 客戶端提示您輸入 MySQL 用戶的密碼以進(jìn)行身份驗(yàn)證。

最后,讓我們測試一下MySQL的安裝。

測試MySQL

不管你如何安裝它,MySQL 應(yīng)該已經(jīng)自動(dòng)開始運(yùn)行了。 要對此進(jìn)行測試,請檢查其狀態(tài)。

systemctl status mysql.service

輸出內(nèi)容如下所示:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-06-13 15:43:21 CST; 35min ago
    Process: 248356 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 248364 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 18804)
     Memory: 371.1M
        CPU: 10.291s
     CGroup: /system.slice/mysql.service
             └─248364 /usr/sbin/mysqld

如果 MySQL 沒有運(yùn)行,您可以使用 sudo systemctl start mysql 啟動(dòng)它。

對于額外的檢查,您可以嘗試使用 mysqladmin 工具連接到數(shù)據(jù)庫,這是一個(gè)允許您運(yùn)行管理命令的客戶端。 例如,此命令表示以名為 sammy (-u sammy) 的 MySQL 用戶身份連接,提示輸入密碼 (-p),并返回版本。 請務(wù)必將 sammy 更改為您的專用 MySQL 用戶的名稱,并在出現(xiàn)提示時(shí)輸入該用戶的密碼:

sudo mysqladmin -p -u sammy version

以下是輸出示例:

mysqladmin  Ver 8.0.33-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version    8.0.33-0ubuntu0.22.04.2
Protocol version  10
Connection    Localhost via UNIX socket
UNIX socket    /var/run/mysqld/mysqld.sock
Uptime:      37 min 20 sec

Threads: 2  Questions: 41  Slow queries: 0  Opens: 199  Flush tables: 3  Open tables: 118  Queries per second avg: 0.018

這意味著 MySQL 已啟動(dòng)并正在運(yùn)行。

結(jié)論

至此,您現(xiàn)在已經(jīng)在服務(wù)器上安裝了基本的 MySQL 設(shè)置。

到此這篇關(guān)于ubuntu 22.04安裝mysql 8.0步驟與避坑指南的文章就介紹到這了,更多相關(guān)ubuntu22.04安裝mysql8.0內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows下通過MySQL Installer安裝MySQL服務(wù)的教程圖解

    Windows下通過MySQL Installer安裝MySQL服務(wù)的教程圖解

    MYSQL官方提供了Installer方式安裝MYSQL服務(wù)以及其他組件,使的Windows下安裝,卸載,配置MYSQL變得特別簡單。接下來通過圖文并茂的形式給大家介紹Windows下通過MySQL Installer安裝MySQL服務(wù)的教程,一起看看吧
    2018-10-10
  • CentOS7環(huán)境下安裝MySQL5.5數(shù)據(jù)庫

    CentOS7環(huán)境下安裝MySQL5.5數(shù)據(jù)庫

    大家好,本篇文章主要講的是CentOS7環(huán)境下安裝MySQL5.5數(shù)據(jù)庫,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • mysql數(shù)據(jù)損壞,如何通過ibd和frm文件批量恢復(fù)數(shù)據(jù)庫數(shù)據(jù)

    mysql數(shù)據(jù)損壞,如何通過ibd和frm文件批量恢復(fù)數(shù)據(jù)庫數(shù)據(jù)

    這篇文章主要介紹了mysql數(shù)據(jù)損壞,如何通過ibd和frm文件批量恢復(fù)數(shù)據(jù)庫數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL 5.6 & 5.7最優(yōu)配置文件模板(my.ini)

    MySQL 5.6 & 5.7最優(yōu)配置文件模板(my.ini)

    這篇文章主要介紹了MySQL 5.6 & 5.7最優(yōu)配置文件模板(my.ini),需要的朋友可以參考下
    2016-07-07
  • 值得收藏的mysql常用命令集錦

    值得收藏的mysql常用命令集錦

    這篇文章主要為大家整理了mysql常用命令匯總,連接Mysql、修改mysql密碼、數(shù)據(jù)庫的創(chuàng)建刪除等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • MySQL8 臨時(shí)關(guān)閉緩存的方法實(shí)現(xiàn)

    MySQL8 臨時(shí)關(guān)閉緩存的方法實(shí)現(xiàn)

    在某些場景下,如基準(zhǔn)測試、數(shù)據(jù)一致性檢查或高頻數(shù)據(jù)更新,可能需要臨時(shí)關(guān)閉緩存以獲得更準(zhǔn)確的性能數(shù)據(jù)或解決性能問題,本文就詳細(xì)的介紹一下MySQL8 臨時(shí)關(guān)閉緩存的方法實(shí)現(xiàn),感興趣的可以了解一下
    2024-10-10
  • MySQL關(guān)于索引的分類與優(yōu)化詳解

    MySQL關(guān)于索引的分類與優(yōu)化詳解

    這篇文章主要介紹了MySQL關(guān)于索引的分類與優(yōu)化,索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),目的在于提高查詢效率,合理的索引分類和優(yōu)化策略對于提高M(jìn)ySQL數(shù)據(jù)庫的性能至關(guān)重要,需要的朋友可以參考下
    2024-03-03
  • mysql之如何查找配置文件my.ini的位置

    mysql之如何查找配置文件my.ini的位置

    這篇文章主要介紹了mysql之如何查找配置文件my.ini的位置問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 快速了解MySQL 索引

    快速了解MySQL 索引

    這篇文章主要介紹了MySQL 索引的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)

    Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)

    這篇文章主要介紹了Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論