最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CentOS?7/8/9上安裝?MySQL?8.0+的方法完整指南

 更新時間:2025年11月19日 09:48:07   作者:LumenL1u  
本文提供兩種在?CentOS?7/8/9?系統(tǒng)上安裝?MySQL?8.0?或更高版本的官方推薦方法,即使用?Yum?包管理器(適合新手)?和?手動部署通用二進制包(適合高級用戶),大家可以根據(jù)需要進行選擇

一、流程圖

二、安裝前的準備工作

在開始安裝之前,建議你先完成以下步驟:

更新系統(tǒng)軟件包: 更新系統(tǒng),確保所有軟件包都是最新狀態(tài)。(對于啟用 dnf 的系統(tǒng),請在命令中將 yum 替換為 dnf

yum update

檢查是否已安裝 MySQL:執(zhí)行以下命令檢查

yum list installed | grep mysql
yum list installed | grep mariadb

卸載:如果存在舊版本,建議卸載以避免沖突。

yum remove 包名

清理殘留文件:卸載后建議刪除相關配置文件和數(shù)據(jù)目錄。

# 刪除配置文件
rm -rf /etc/my.cnf

# 刪除數(shù)據(jù)目錄(注意:會刪除所有數(shù)據(jù))
rm -rf /var/lib/mysql

# 刪除日志文件
rm -rf /var/log/localhost.log

三、使用包管理器安裝(簡單,易管理)

1.添加 MySQL Yum 存儲庫

從 MySQL Yum 存儲庫頁面 下載它。上傳到服務器后執(zhí)行(對于啟用 dnf 的系統(tǒng),請在命令中將 yum 替換為 dnf

yum localinstall mysql84-community-release-el9-1.noarch.rpm

您可以通過以下命令檢查 MySQL Yum 存儲庫是否已成功添加并啟用

yum repolist enabled | grep mysql.*-community

2. 禁用默認的 MySQL 模塊

(僅限 EL8 系統(tǒng)) 基于 EL8 的系統(tǒng)(例如 RHEL8 和 Oracle Linux 8)包含一個默認情況下啟用的 MySQL 模塊。

yum module disable mysql

3. 安裝 MySQL

通過以下命令安裝 MySQL

yum install mysql-community-server

這將安裝 MySQL 服務器軟件包 (mysql-community-server),以及運行服務器所需組件的軟件包,包括客戶端軟件包 (mysql-community-client)、客戶端和服務器的通用錯誤消息和字符集 (mysql-community-common) 以及共享客戶端庫 (mysql-community-libs)。

4. 啟動 MySQL 服務器

使用以下命令啟動 MySQL 服務器。

systemctl start mysqld

您可以使用以下命令檢查 MySQL 服務器的狀態(tài)。

systemctl status mysqld

如果操作系統(tǒng)啟用了 systemd,則應使用標準的 systemctl(或者,使用參數(shù)反轉的 service)命令,例如 stop、start、status 和 restart 來管理 MySQL 服務器服務。 mysqld 服務默認情況下處于啟用狀態(tài),并且在系統(tǒng)重啟時啟動。

四、手動安裝二進制包(難,但更靈活)

1. MySQL Linux 通用二進制分發(fā)目錄

目錄目錄內(nèi)容
binmysqld 服務器、客戶端和實用程序
docsInfo 格式的 MySQL 手冊
manUnix 手冊頁
include包含(頭)文件
lib
share錯誤消息、字典和用于數(shù)據(jù)庫安裝的 SQL
support-files各種支持文件

2. 命令序列如下所示

yum install libaio
tar -xvf /path/to/mysql-VERSION-OS.tar.xz
ln -s full-path-to-mysql-VERSION-OS mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /etc
touch my.cnf
chown root:root my.cnf
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
bin/mysqld --defaults-file=/etc/my.cnf --initialize
cat data/localhost.localdomain.err
cd /usr/lib/systemd/system
touch mysqld.service
systemctl enable mysqld.service
systemctl start mysqld

3. 安裝二進制包

安裝 libaio 庫:MySQL 依賴于該libaio 庫。如果未在本地安裝此庫,則數(shù)據(jù)目錄初始化和后續(xù)服務器啟動步驟將失敗。如有必要,請使用適當?shù)陌芾砥靼惭b它。例如,在基于 Yum 的系統(tǒng)上:

yum search libaio  # search for info
yum install libaio # install library

下載和解壓:從 MySQL 官網(wǎng)下載對應版本的二進制壓縮包(如 mysql-9.4.0-linux-glibc2.28-x86_64.tar.xz),使用 tar -xzf 命令解壓。

tar xvf mysql-9.4.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
cd /usr/local/

mv mysql-9.4.0-linux-glibc2.28-x86_64 mysql
#或
ln -s mysql-9.4.0-linux-glibc2.28-x86_64 mysql

創(chuàng)建專用用戶和組:創(chuàng)建一個不允許登錄系統(tǒng)的 MySQL 專用用戶,提升安全性。

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
#或
useradd -r -g mysql -s /usr/sbin/nologin mysql

-s 設置用戶的登錄 shell

/bin/false 一個總是返回失敗的程序,這樣設置后,該用戶無法通過 shell 登錄系統(tǒng)

/usr/sbin/nologin 達到類似效果,并給出友好提示

4. 安裝后配置

配置環(huán)境變量:將 mysql 加入環(huán)境變量中。

vim /etc/profile.d/mysql.sh
#編輯mysql.sh內(nèi)容
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
source /etc/profile.d/mysql.sh

創(chuàng)建配置文件:通過將它們放在 MySQL 配置文件中來指定 MySQL 服務器在啟動時應使用的選項。如果不這樣做,服務器將以其默認設置啟動,要創(chuàng)建 MySQL 配置文件,請以 root 身份發(fā)出以下命令:

cd /etc
vim my.cnf

添加以下設置到配置文件中

[client]
socket=/usr/local/mysql/data/mysql.sock

[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3306
log-error=/usr/local/mysql/data/localhost.log
user=mysql
secure_file_priv=NULL
local_infile=OFF

初始化數(shù)據(jù)目錄:進入 MySQL 目錄并初始化數(shù)據(jù)目錄

cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
bin/mysqld --defaults-file=/etc/my.cnf --initialize

初始化輸出被打印到日志 ( /usr/local/mysql/data/localhost.log) 中。

5. 使用 systemd 啟動服務器

添加一個 systemd 服務單元配置文件

cd /usr/lib/systemd/system
vim mysqld.service

將此配置信息添加到 mysqld.service 文件中:

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

# Have mysqld write its state to the systemd notify socket
Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 10000

#Restart=on-failure

#RestartPreventExitStatus=1

# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
#Environment=MYSQLD_PARENT_PID=1

#PrivateTmp=false

使用以下命令來管理 MySQL 服務。

#使mysqld服務在重新啟動時自動啟動。
systemctl enable mysqld.service

#手動啟動mysqld服務
systemctl start mysqld

#檢查mysqld服務的狀態(tài)
systemctl status mysqld

五、重置 MySQL root 賬戶密碼

使用客戶端,使用服務器在初始化序列期間生成的隨機密碼 mysql連接到服務器:root@localhost

# Yum 安裝
grep 'temporary password' /var/log/mysqld.log
# 二進制安裝
grep 'temporary password' /usr/local/mysql/data/*.err

mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
mysql> exit

提示:如果啟用了 validate_password 插件(默認開啟),密碼必須滿足強度策略(大寫、小寫、數(shù)字、特殊字符、長度 ≥ 8)。

六、測試 MySQL 服務器

使用mysqlshow驗證您是否可以從服務器檢索信息。

mysqlshow -u root -p

使用mysqladmin查看 MySQL 服務器版本信息。

mysqladmin -u root -p version

七、開啟遠程訪問權限

需要登錄到 MySQL 服務器,執(zhí)行下面的命令:

-- 1. 創(chuàng)建用戶
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

-- 2. 授權
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';

-- 3.刷新權限
FLUSH PRIVILEGES;

這里的 usernamepassword 分別是遠程用戶的用戶名和密碼,% 表示允許任何 IP 地址的用戶連接。如果需要限制特定 IP 地址,可以將 % 替換為具體的 IP 地址。

編輯 MySQL 的配置文件 my.cnf , 允許任意 IP 地址訪問:

[mysqld]
# 注釋掉或刪除這一行(如果存在):
# 如果不想暴露MySQL,可以保留,通過SSH 隧道(端口轉發(fā))安全地連接,具體見常見問題
# bind-address = 127.0.0.1

# 或顯式綁定到所有地址:
bind-address = 0.0.0.0

修改后,保存文件并重啟 MySQL 服務以使更改生效:

systemctl restart mysqld

在客戶端計算機上,使用以下命令嘗試連接到遠程 MySQL 服務器:

mysql -h server_ip -P 3306 -u username -p

#例如
mysql -h192.168.100.128 -P3306 -uroot -p123456

八、常見問題

1. MySQL 服務無法啟動

可以運行 systemctl status mysql 查看服務狀態(tài),或者通過 journalctl -xe 查看系統(tǒng)日志來排查問題。

2. SELinux 或 AppArmor 阻止執(zhí)行

臨時禁用 SELinux 測試:

setenforce 0
systemctl start mysqld

如果成功,說明是 SELinux 策略問題。可恢復后添加策略:

setenforce 1
restorecon -R /usr/local/mysql
# 或使用 audit2allow 生成自定義策略

3. 客戶端連接失敗

檢查防火墻設置:確保服務器的防火墻開放了 MySQL 的默認 3306 端口。可以使用以下命令。

firewall-cmd --list-ports | grep 3306

如果沒有放行(輸出是空的),執(zhí)行以下命令,重新檢查

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

檢查 MySQL 綁定地址:查看 MySQL 配置文件(如 /etc/mysql/my.cnf)中的 bind-address 選項。如果希望從其他機器連接,需將其設置為服務器的 IP 地址或 0.0.0.0(注意安全風險),或者直接注釋掉該行。

如果服務端只允許本機訪問(127.0.0.1),則在客戶端執(zhí)行下面的命令:

ssh -L 3307:127.0.0.1:3306 user@your-server.com
#或
ssh -fNL 3307:127.0.0.1:3306 user@your-server.com

mysql -h 127.0.0.1 -P 3307 -u myuser -p

-L 3307:127.0.0.1:3306:表示將本地機器的 3307 端口 轉發(fā)到遠程服務器上的 127.0.0.1:3306

user@your-server.com:是你在遠程服務器上的登錄賬戶和主機地址。

-fNL :在后臺運行,不執(zhí)行遠程命令,同時設置本地端口轉發(fā)。

如果是后臺運行,Linux/MacOS 用 ps aux | grep ssh ,Windows 用 get-process ssh* ,找到進程并 kill <PID> 。

4. 忘記 root 密碼

  • 停止 MySQL 服務。
  • 在配置文件中(如 [mysqld] 段下)添加 skip-grant-tables。
  • 重啟 MySQL 服務,此時可以不需密碼登錄。
  • 執(zhí)行 FLUSH PRIVILEGES; 后重設 root 密碼。
  • 移除 skip-grant-tables 配置,重啟 MySQL 服務。

到此這篇關于CentOS 7/8/9上安裝 MySQL 8.0+的方法完整指南的文章就介紹到這了,更多相關CentOS安裝 MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL中的datediff()方法和timestampdiff()方法的應用示例小結

    MySQL中的datediff()方法和timestampdiff()方法的應用示例小結

    在MySQL中,DATEDIFF()函數(shù)和TIMESTAMPDIFF()函數(shù)用于計算日期和時間之間的差異,TIMESTAMPDIFF()函數(shù)返回的結果是整數(shù),但你可以通過在計算過程中使用適當?shù)某▉慝@得所需的小數(shù)部分,本文介紹MySQL中的datediff()方法和timestampdiff()方法的應用,感興趣的朋友一起看看吧
    2023-12-12
  • MySQL間隙鎖解決幻讀問題

    MySQL間隙鎖解決幻讀問題

    本文主要介紹了MySQL間隙鎖解決幻讀問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • MySql索引和索引創(chuàng)建策略

    MySql索引和索引創(chuàng)建策略

    這篇文章主要介紹了MySql索引和索引創(chuàng)建策略,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習又是幫助
    2022-08-08
  • Red?Hat?安裝MySQL?8.0與?Navicat的詳細過程

    Red?Hat?安裝MySQL?8.0與?Navicat的詳細過程

    這篇文章主要介紹了Red?Hat安裝MySQL8.0與Navicat,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • mysql如何將查詢結果插入到另一張表中

    mysql如何將查詢結果插入到另一張表中

    這篇文章主要介紹了mysql如何將查詢結果插入到另一張表中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL asc、desc數(shù)據(jù)排序的實現(xiàn)

    MySQL asc、desc數(shù)據(jù)排序的實現(xiàn)

    這篇文章主要介紹了MySQL asc、desc數(shù)據(jù)排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • MySQL深分頁問題解決思路

    MySQL深分頁問題解決思路

    這篇文章主要介紹了優(yōu)雅地解決mysql深分頁問題,本文將會討論當mysql表大數(shù)據(jù)量的情況,如何優(yōu)化深分頁問題,并附上最近的優(yōu)化慢sql問題的案例偽代碼,需要的朋友可以參考下
    2022-12-12
  • Mysql滿意度調(diào)查分組去除最高最低求平均分的實現(xiàn)思路

    Mysql滿意度調(diào)查分組去除最高最低求平均分的實現(xiàn)思路

    該文章介紹了如何使用SQL查詢實現(xiàn)按部門分組,去除每個部門的最高分和最低分,并計算剩余分數(shù)的平均分,文章詳細描述了實現(xiàn)這一需求的步驟,包括使用窗口函數(shù)、子查詢和CTE等技術,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • MySQL的LEFT JOIN表連接的進階學習教程

    MySQL的LEFT JOIN表連接的進階學習教程

    這篇文章主要介紹了MySQL的LEFT JOIN表連接的進階學習教程,包括對左連接的查詢效率分析以及相關建議,需要的朋友可以參考下
    2015-12-12
  • 關于在sql中使用order by實現(xiàn)排序出錯問題

    關于在sql中使用order by實現(xiàn)排序出錯問題

    這篇文章主要介紹了關于在sql中使用order by實現(xiàn)排序出錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

英山县| 瓮安县| 进贤县| 嘉禾县| 巴彦淖尔市| 会理县| 商洛市| 财经| 孝义市| 晋中市| 东乌珠穆沁旗| 进贤县| 富民县| 佳木斯市| 新泰市| 辰溪县| 五大连池市| 濮阳县| 阳泉市| 同仁县| 华蓥市| 抚州市| 双城市| 疏勒县| 修文县| 鄂托克前旗| 温泉县| 海林市| 德格县| 安泽县| 东源县| 金秀| 高密市| 子长县| 鸡西市| 清镇市| 游戏| 亳州市| 文昌市| 山阳县| 常熟市|