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

linux環(huán)境安裝MySQL的詳細(xì)步驟記錄(二進(jìn)制包形式)

 更新時(shí)間:2026年01月23日 11:11:19   作者:L162476  
MySQL是一個(gè)廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),最新版本為?8.0,這篇文章主要介紹了linux環(huán)境安裝MySQL(二進(jìn)制包形式)的相關(guān)資料,需要的朋友可以參考下

前言

二進(jìn)制包安裝 MySQL 是靈活度最高的方式(支持自定義程序目錄、數(shù)據(jù)目錄等所有路徑),以下是分步驟、帶詳細(xì)解釋的完整流程(適配aarch64/x86_64架構(gòu),以 MySQL 8.0.44 為例):

一、前置準(zhǔn)備(必做:環(huán)境檢查 + 依賴 + 用戶組)

1. 確認(rèn)系統(tǒng)架構(gòu)(選對(duì)應(yīng)二進(jìn)制包)

# 查看系統(tǒng)架構(gòu)(aarch64/x86_64)
uname -m
  • 若輸出aarch64:選aarch64版本的二進(jìn)制包;
  • 若輸出x86_64:選x86_64版本的二進(jìn)制包。

2. 安裝依賴包(避免初始化 / 啟動(dòng)失敗)

# CentOS/RHEL系
yum install -y libaio-devel numactl-devel perl net-tools openssl-devel
# Debian/Ubuntu系
apt-get install -y libaio-dev numactl perl net-tools libssl-dev
  • 依賴作用:libaio是 InnoDB 引擎的異步 IO 依賴;numactl優(yōu)化多 CPU 架構(gòu)性能。

3. 創(chuàng)建 MySQL 專用用戶 / 組(安全規(guī)范)

MySQL 服務(wù)需以非 root 用戶運(yùn)行,避免權(quán)限過大:

# 創(chuàng)建系統(tǒng)組(-r:系統(tǒng)組,ID<1000)
groupadd -r mysql
# 創(chuàng)建系統(tǒng)用戶(-r:系統(tǒng)用戶;-g:關(guān)聯(lián)mysql組;-s:禁止登錄;-M:不創(chuàng)建家目錄)
useradd -r -g mysql -s /sbin/nologin -M mysql
# 驗(yàn)證創(chuàng)建結(jié)果
id mysql

二、下載并解壓二進(jìn)制包

1. 下載對(duì)應(yīng)架構(gòu)的二進(jìn)制包

從 MySQL 官網(wǎng)獲取包(或用 wget 直接下載):

# 進(jìn)入臨時(shí)目錄(避免污染系統(tǒng)目錄)
cd /tmp

# ① aarch64架構(gòu)下載鏈接
wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.44-linux-glibc2.28-aarch64.tar.xz

# ② x86_64架構(gòu)下載鏈接
# wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.44-linux-glibc2.28-x86_64.tar.xz

2. 解壓到自定義程序目錄(示例:/opt/mysql)

二進(jìn)制包可解壓到任意目錄(如/opt//usr/local),這里以/opt/mysql為例:

# 解壓包(替換為實(shí)際包名)
tar -xvf mysql-8.0.44-linux-glibc2.28-aarch64.tar.xz -C /opt/

# 重命名(或創(chuàng)建軟鏈接,方便后續(xù)升級(jí))
# 方式1:重命名(簡(jiǎn)單直接)
mv /opt/mysql-8.0.44-linux-glibc2.28-aarch64 /opt/mysql

# 方式2:軟鏈接(升級(jí)時(shí)只需替換軟鏈接指向)
# ln -s /opt/mysql-8.0.44-linux-glibc2.28-aarch64 /opt/mysql

三、配置環(huán)境變量(簡(jiǎn)化命令調(diào)用)

若不配置環(huán)境變量,需用/opt/mysql/bin/mysql這類完整路徑調(diào)用命令,配置后可直接用mysql

# 將MySQL的bin目錄加入系統(tǒng)環(huán)境變量
echo "export PATH=/opt/mysql/bin:\$PATH" >> /etc/profile

# 立即生效環(huán)境變量
source /etc/profile

# 驗(yàn)證(輸出MySQL版本則成功)
mysql --version

四、準(zhǔn)備自定義目錄(數(shù)據(jù) / 日志 / PID)

二進(jìn)制包的所有目錄都需手動(dòng)創(chuàng)建,核心目錄包括:

目錄作用
/data/mysql數(shù)據(jù)存儲(chǔ)目錄(存放數(shù)據(jù)庫、表、InnoDB 文件等核心數(shù)據(jù))
/data/mysql/log日志目錄(存放錯(cuò)誤日志、慢查詢?nèi)罩镜龋?/td>
/var/run/mysqldPID 文件目錄(記錄 MySQL 服務(wù)的進(jìn)程 ID)

1. 創(chuàng)建目錄并設(shè)置權(quán)限

# 1. 數(shù)據(jù)目錄
mkdir -p /data/mysql
# 2. 日志目錄
mkdir -p /data/mysql/log
# 3. PID目錄
mkdir -p /var/run/mysqld

# 給所有目錄賦予mysql用戶權(quán)限(必須!否則MySQL無讀寫權(quán)限)
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /var/run/mysqld
# 設(shè)置目錄權(quán)限(755:用戶可讀可寫可執(zhí)行,組/其他可讀可執(zhí)行)
chmod -R 755 /data/mysql

五、編寫 MySQL 主配置文件(/etc/my.cnf)

my.cnf是 MySQL 的核心配置文件,所有目錄、參數(shù)都在這里定義,直接復(fù)制以下內(nèi)容(需根據(jù)你的目錄調(diào)整):

vi /etc/my.cnf

寫入配置:

[mysqld]
# 1. 程序目錄(二進(jìn)制包解壓路徑)
basedir=/opt/mysql
# 2. 數(shù)據(jù)目錄(自定義的/data/mysql)
datadir=/data/mysql
# 3. Socket文件路徑(本地連接的通信文件,需和數(shù)據(jù)目錄同權(quán)限)
socket=/data/mysql/mysql.sock
# 4. 運(yùn)行用戶
user=mysql
# 5. 端口(默認(rèn)3306)
port=3306
# 6. 錯(cuò)誤日志路徑(自定義到日志目錄)
log-error=/data/mysql/log/mysqld.log
# 7. PID文件路徑
pid-file=/var/run/mysqld/mysqld.pid
# 8. 禁用符號(hào)鏈接(安全選項(xiàng))
symbolic-links=0
# 9. 字符集(避免亂碼)
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 10. 打開文件數(shù)限制(避免高并發(fā)時(shí)文件數(shù)不足)
open_files_limit=65535

[client]
# 客戶端連接的Socket路徑(必須和mysqld的socket一致)
socket=/data/mysql/mysql.sock
# 客戶端字符集
default-character-set=utf8mb4

六、初始化 MySQL(生成系統(tǒng)表 + 臨時(shí)密碼)

初始化是創(chuàng)建 MySQL 系統(tǒng)庫(如mysql庫,存儲(chǔ)用戶權(quán)限)、生成臨時(shí)密碼的關(guān)鍵步驟:

# 執(zhí)行初始化(--user:指定運(yùn)行用戶;--datadir:指定數(shù)據(jù)目錄)
mysqld --initialize --user=mysql --datadir=/data/mysql

1. 獲取臨時(shí)密碼

初始化成功后,臨時(shí)密碼會(huì)寫入錯(cuò)誤日志/data/mysql/log/mysqld.log):

# 從日志中提取臨時(shí)密碼(最后一行的“root@localhost:”后即為密碼)
TEMP_PWD=$(grep "temporary password" /data/mysql/log/mysqld.log | awk '{print $NF}')
echo "MySQL臨時(shí)密碼:$TEMP_PWD"
  • 示例輸出:MySQL臨時(shí)密碼:abc123!@#

七、配置 Systemd 服務(wù)(用systemctl管理 MySQL)

手動(dòng)創(chuàng)建 Systemd 服務(wù)文件,實(shí)現(xiàn)systemctl start/stop等便捷管理:

vi /usr/lib/systemd/system/mysqld.service

寫入配置:

[Unit]
# 服務(wù)描述
Description=MySQL Server
# 啟動(dòng)依賴(網(wǎng)絡(luò)就緒后再啟動(dòng))
After=network.target remote-fs.target nss-lookup.target

[Service]
# 進(jìn)程類型(notify:MySQL啟動(dòng)后主動(dòng)通知Systemd)
Type=notify
# 運(yùn)行用戶/組
User=mysql
Group=mysql
# 啟動(dòng)命令(指定配置文件路徑)
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
# 打開文件數(shù)限制(和my.cnf保持一致)
LimitNOFILE=65535
# 進(jìn)程數(shù)限制
LimitNPROC=65535
# 失敗后自動(dòng)重啟
Restart=on-failure
# 禁止重啟的退出狀態(tài)碼
RestartPreventExitStatus=1
# 超時(shí)時(shí)間(0:無超時(shí))
TimeoutSec=0

[Install]
# 多用戶模式下啟動(dòng)
WantedBy=multi-user.target

八、啟動(dòng) MySQL 并配置

1. 啟動(dòng)服務(wù)并設(shè)置開機(jī)自啟

# 1. 重新加載Systemd配置(識(shí)別新的mysqld.service)
systemctl daemon-reload
# 2. 啟動(dòng)MySQL
systemctl start mysqld
# 3. 設(shè)置開機(jī)自啟
systemctl enable mysqld
# 4. 檢查服務(wù)狀態(tài)(顯示Active: running則成功)
systemctl status mysqld

2. 重置初始密碼(臨時(shí)密碼已過期)

MySQL 初始化的臨時(shí)密碼僅用于首次登錄,必須重置后才能使用:

# 用臨時(shí)密碼登錄并重置密碼(替換為你的臨時(shí)密碼和新密碼)
mysql -uroot -p"$TEMP_PWD" --connect-expired-password << EOF
# 新密碼需符合策略(至少8位,含大小寫+數(shù)字+特殊字符)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@8888';
# 刷新權(quán)限(確保修改生效)
FLUSH PRIVILEGES;
EOF

九、配置遠(yuǎn)程訪問(可選,如 Navicat 連接)

1. 允許 root 遠(yuǎn)程連接

mysql -uroot -p"MySQL@8888" << EOF
# 將root的訪問主機(jī)改為“%”(任意遠(yuǎn)程主機(jī))
USE mysql;
UPDATE user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;
EOF

2. 解決 Navicat 兼容問題(MySQL 8.0 專屬)

MySQL 8.0 默認(rèn)用caching_sha2_password認(rèn)證插件,舊版 Navicat 不兼容,需改為傳統(tǒng)插件:

mysql -uroot -p"MySQL@8888" << EOF
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'MySQL@8888';
FLUSH PRIVILEGES;
EOF

3. 開放防火墻端口

# 開放3306端口(永久生效)
firewall-cmd --add-port=3306/tcp --permanent
# 重啟防火墻
firewall-cmd --reload

十、驗(yàn)證安裝成功

# 1. 驗(yàn)證MySQL版本
mysql --version
# 2. 驗(yàn)證數(shù)據(jù)目錄(輸出/data/mysql則正確)
mysql -uroot -p"MySQL@8888" -e "show variables like 'datadir';"
# 3. 創(chuàng)建測(cè)試庫(驗(yàn)證數(shù)據(jù)寫入)
mysql -uroot -p"MySQL@8888" -e "CREATE DATABASE test_db;"
# 查看/data/mysql下是否生成test_db目錄
ls -l /data/mysql | grep test_db

常見問題排查

  • 初始化失?。篜ermission denied

    • 原因:目錄權(quán)限未給mysql用戶;
    • 解決:重新執(zhí)行chown -R mysql:mysql /data/mysql。
  • 啟動(dòng)失?。篊an't read PID file

    • 原因:/var/run/mysqld權(quán)限不足;
    • 解決:chown -R mysql:mysql /var/run/mysqld
  • 遠(yuǎn)程連接超時(shí)

    • 原因:防火墻未開放 3306 端口;
    • 解決:執(zhí)行firewall-cmd --add-port=3306/tcp --permanent。

總結(jié) 

到此這篇關(guān)于linux環(huán)境安裝MySQL(二進(jìn)制包形式)的文章就介紹到這了,更多相關(guān)linux安裝MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中預(yù)處理語句prepare、execute與deallocate的使用教程

    MySQL中預(yù)處理語句prepare、execute與deallocate的使用教程

    這篇文章主要介紹了MySQL中預(yù)處理語句prepare、execute與deallocate的使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • JDBC連接mysql處理中文時(shí)亂碼解決辦法詳解

    JDBC連接mysql處理中文時(shí)亂碼解決辦法詳解

    這篇文章主要介紹了JDBC連接mysql處理中文時(shí)亂碼解決辦法詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • MySQL導(dǎo)出sql腳本文件操作指南

    MySQL導(dǎo)出sql腳本文件操作指南

    mysql數(shù)據(jù)庫是非常常用的一種數(shù)據(jù)庫,屬于中小型數(shù)據(jù)庫,常用于網(wǎng)站業(yè)務(wù)和一些WEB系統(tǒng)業(yè)務(wù),下面這篇文章主要給大家介紹了關(guān)于MySQL導(dǎo)出sql腳本文件操作的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MySQL中Like模糊查詢速度太慢該如何進(jìn)行優(yōu)化

    MySQL中Like模糊查詢速度太慢該如何進(jìn)行優(yōu)化

    在業(yè)務(wù)場(chǎng)景中經(jīng)常會(huì)用到like模糊查詢,但是大家都知道,like是用不到索引的,所以當(dāng)數(shù)據(jù)量非常大時(shí),速度會(huì)非常慢,這篇文章主要給大家介紹了關(guān)于MySQL中Like模糊查詢速度太慢該如何進(jìn)行優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • MySQL語句加鎖的實(shí)現(xiàn)分析

    MySQL語句加鎖的實(shí)現(xiàn)分析

    MySQL的加鎖分析,一直是一個(gè)比較困難的話題。我在工作過程中,經(jīng)常會(huì)有同事咨詢這方面的問題。今天我們來簡(jiǎn)單談?wù)勥@個(gè)問題
    2017-10-10
  • MySQL獲取版本號(hào)的N種方法(全網(wǎng)最全以及避坑大全)

    MySQL獲取版本號(hào)的N種方法(全網(wǎng)最全以及避坑大全)

    相信大家在工作學(xué)習(xí)中經(jīng)常有需要查詢 MySQL 數(shù)據(jù)庫版本的情況,這里給大家介紹幾種在 MySQL 中查詢數(shù)據(jù)庫版本的方法以及每種方法適用的場(chǎng)景,相信總有一種可以幫到你,需要的朋友可以參考下
    2024-10-10
  • mysql 5.7.23 安裝配置圖文教程

    mysql 5.7.23 安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.23 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • mysql觸發(fā)器同步表的數(shù)據(jù)方式

    mysql觸發(fā)器同步表的數(shù)據(jù)方式

    這篇文章主要介紹了mysql觸發(fā)器同步表的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java的Struts框架中append標(biāo)簽與generator標(biāo)簽的使用

    Java的Struts框架中append標(biāo)簽與generator標(biāo)簽的使用

    這篇文章主要介紹了Java的Struts框架中append標(biāo)簽與generator標(biāo)簽的使用方法,Struts是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • MySql二進(jìn)制連接方式詳解

    MySql二進(jìn)制連接方式詳解

    這篇文章主要介紹了MySql二進(jìn)制連接方式詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評(píng)論

沙河市| 乌苏市| 舞阳县| 肃北| 怀集县| 津市市| 德惠市| 元谋县| 永靖县| 西峡县| 孟村| 仙桃市| 隆尧县| 绩溪县| 岗巴县| 买车| 加查县| 沅江市| 鲁甸县| 孟津县| 山东| 梁河县| 高平市| 三台县| 法库县| 郴州市| 辉南县| 闻喜县| 文水县| 太仆寺旗| 阿合奇县| 桃源县| 虞城县| 龙海市| 宁明县| 沙雅县| 尤溪县| 泉州市| 高陵县| 耒阳市| 清流县|