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

CentOS7系統(tǒng)下部署MySQL 5.7.34服務(wù)全過程

 更新時(shí)間:2025年07月02日 08:52:11   作者:XMYX-0  
這篇文章主要為大家詳細(xì)介紹了如何通過普通用戶 test 在 CentOS 7 系統(tǒng)下部署 MySQL 5.7.34,適用于中小型服務(wù)部署、開發(fā)測試環(huán)境以及基于裸機(jī)的數(shù)據(jù)庫初始化場景

使用普通用戶 部署 MySQL 5.7.34 服務(wù)全過程

在企業(yè)級(jí) Linux 服務(wù)器中,出于最小權(quán)限原則(Least Privilege Principle),不建議直接使用 root 用戶運(yùn)行數(shù)據(jù)庫服務(wù)。這不僅可以降低誤操作風(fēng)險(xiǎn),也方便后續(xù)進(jìn)行權(quán)限審計(jì)、容器化遷移、安全加固等操作。

本文將介紹如何通過普通用戶 test 在 CentOS 7 系統(tǒng)下部署 MySQL 5.7.34,適用于中小型服務(wù)部署、開發(fā)測試環(huán)境以及基于裸機(jī)的數(shù)據(jù)庫初始化場景。

最終目錄結(jié)構(gòu)示意

/data/
├── app/
│   └── mysql/           # 安裝目錄
│       ├── bin/         # 可執(zhí)行文件
│       ├── data/        # 數(shù)據(jù)目錄
│       ├── log/         # 日志目錄
│       └── my.cnf       # 配置文件
│       └── mysqld.sh    # 啟動(dòng)腳本
│       └── ......       # 其他文件
├── bag/
    └── mysql/           # 存放壓縮包

[test@mmm mysql]$ pwd
/data/app/mysql
[test@mmm mysql]$ ls 
bin  data  docs  include  lib  LICENSE  log  man  my.cnf  mysqld.sh  README  share  support-files
[test@mmm mysql]$ ll 
total 288
drwxrwxr-x  2 test test   4096 Mar  6 09:54 bin
drwxrwxr-x 10 test test   4096 Mar  6 21:20 data
drwxrwxr-x  2 test test     55 Mar  6 09:26 docs
drwxrwxr-x  3 test test   4096 Mar  6 09:26 include
drwxrwxr-x  5 test test    230 Mar  6 09:26 lib
-rw-r--r--  1 test test 257591 Mar 26  2021 LICENSE
drwxrwxr-x  2 test test     29 Mar  6 09:35 log
drwxrwxr-x  4 test test     30 Mar  6 09:26 man
-rw-rw-r--  1 test test   1469 Mar  6 09:34 my.cnf
-rwxr-xr-x  1 test test  10585 Mar  6 09:49 mysqld.sh
-rw-r--r--  1 test test    566 Mar 26  2021 README
drwxrwxr-x 28 test test   4096 Mar  6 09:26 share
drwxrwxr-x  2 test test     90 Mar  6 09:43 support-files
[test@mmm mysql]$ 

創(chuàng)建 test 用戶并賦予 sudo 權(quán)限

操作用戶:root

# 創(chuàng)建 test 用戶,指定家目錄和 bash 作為默認(rèn) shell
adduser -m -d /home/test -s /bin/bash test

# 設(shè)置 test 用戶密碼(此處密碼為 test123456.)
echo "test:test123456." | sudo chpasswd

# 將 test 用戶加入 wheel 組以獲取 sudo 權(quán)限
usermod -aG wheel test

# 查看用戶組信息確認(rèn)是否添加成功
groups test

切換至 test 用戶并準(zhǔn)備部署目錄

# 切換到 test 用戶
su - test

# 進(jìn)入數(shù)據(jù)目錄
cd /data

# 確認(rèn)是否有寫權(quán)限
ll /data

# 若無權(quán)限,使用 sudo 賦權(quán)
sudo chmod u+w /data
sudo chown -R test:test /data

# 創(chuàng)建 MySQL 安裝與數(shù)據(jù)目錄
mkdir -p /data/app

準(zhǔn)備 MySQL 安裝包并解壓

# 假設(shè)安裝包已上傳至 /data/bag/mysql
cd /data/bag/mysql

# 解壓 MySQL 5.7 安裝包
tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

# 移動(dòng)解壓后的內(nèi)容到指定安裝目錄
mv mysql-5.7.34-linux-glibc2.12-x86_64/* /data/app/mysql

安裝必要依賴包

# 安裝 libaio 和 numactl 是 MySQL 正常運(yùn)行的前提
sudo yum -y install libaio
sudo yum -y install numactl

配置 my.cnf 配置文件

/data/app/mysql 下新建或編輯 my.cnf 文件:

cd /data/app/mysql
vim my.cnf

示例配置內(nèi)容(可根據(jù)實(shí)際情況調(diào)整):

[mysql]

# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
socket=/data/app/mysql/mysql.sock

[mysqld]
# 用戶
user=test

skip_ssl
skip-name-resolve
#設(shè)置3306端口
port = 3306

expire_logs_days = 10
max_binlog_size = 500M

# 設(shè)置mysql的安裝目錄
basedir=/data/app/mysql
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=/data/app/mysql/data

# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8

# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
max_allowed_packet=16M
key_buffer_size=32MB

# innodb參數(shù)
innodb_buffer_pool_size=512MB

innodb_buffer_pool_dump_at_shutdown=1  #該命令用于在關(guān)閉時(shí)把熱數(shù)據(jù)dump到本地磁盤
innodb_buffer_pool_load_at_startup=1   #在啟動(dòng)時(shí)把熱數(shù)據(jù)加載到內(nèi)存

#避免雙寫緩沖的參數(shù):
innodb_flush_method=O_DIRECT

innodb_lock_wait_timeout=50 # 鎖等待超時(shí)時(shí)間 單位秒
#啟用標(biāo)準(zhǔn)InnoDB監(jiān)視器
innodb_status_output=ON
# 查詢緩存
#開啟慢查詢?nèi)罩荆?
slow_query_log=1
slow_query_log_file=master.slow
long_query_time=2

#配置錯(cuò)誤日志:
log-error=/data/app/mysql/log/mysql_error.log

# 復(fù)制的參數(shù)
log_bin=master-bin
server_id=10
binlog_format=ROW
sync_binlog=1

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 啟用gtid復(fù)制:
gtid_mode=ON
enforce-gtid-consistency=true


max_connections = 1000
max_connect_errors = 1000
wait_timeout = 30
innodb_log_file_size=1500M

常見參數(shù)說明

參數(shù)名示例值說明
basedir/data/app/mysqlMySQL 的安裝目錄(即解壓后的主目錄)
datadir/data/app/mysql/data數(shù)據(jù)庫的數(shù)據(jù)文件存放路徑
port3306MySQL 服務(wù)監(jiān)聽端口,默認(rèn)是 3306
usertest啟動(dòng) mysqld 進(jìn)程的用戶,需具有寫權(quán)限
socket/data/app/mysql/mysql.sockMySQL 客戶端與服務(wù)器端通信使用的套接字文件
log-error/data/app/mysql/log/mysql_error.log錯(cuò)誤日志輸出路徑
character-set-serverutf8 / utf8mb4設(shè)置默認(rèn)字符集,推薦使用 utf8mb4 支持表情符等
default-storage-engineINNODB默認(rèn)存儲(chǔ)引擎
innodb_buffer_pool_size512MBInnoDB 數(shù)據(jù)緩沖池大小,建議設(shè)置為物理內(nèi)存的 50%-80%
slow_query_log1開啟慢查詢?nèi)罩竟δ?/td>
slow_query_log_filemaster.slow慢查詢?nèi)罩疚募Q
long_query_time2定義慢查詢的閾值(單位:秒)
log_binmaster-bin啟用二進(jìn)制日志功能,主從復(fù)制時(shí)必須開啟
server_id10實(shí)例 ID,用于主從復(fù)制標(biāo)識(shí)(每個(gè)實(shí)例唯一)
binlog_formatROWbinlog 格式,推薦使用 ROW
gtid_modeON啟用 GTID 模式,方便主從同步管理
enforce-gtid-consistencytrue強(qiáng)制 GTID 一致性,GTID 模式下建議啟用
sql_modeNO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONSQL 模式,控制語法與行為兼容性
max_connections1000最大并發(fā)連接數(shù)
max_connect_errors1000最大連接失敗次數(shù)
wait_timeout30空閑連接超時(shí)時(shí)間(單位:秒)
innodb_log_file_size1500MInnoDB 重做日志文件大小
sync_binlog1每次事務(wù)提交都同步寫 binlog,提升數(shù)據(jù)安全性

初始化數(shù)據(jù)庫

# 創(chuàng)建數(shù)據(jù)目錄和日志文件
cd /data/app/mysql
mkdir -p data log
touch log/mysql_error.log

# 初始化數(shù)據(jù)庫
cd bin
./mysqld --defaults-file=/data/app/mysql/my.cnf --initialize --user=test --basedir=/data/app/mysql/ --datadir=/data/app/mysql/data/

注意:初始化成功后,log/mysql_error.log 中會(huì)包含 root 用戶的臨時(shí)密碼。

配置啟動(dòng)腳本并設(shè)置環(huán)境變量

# 回到主目錄
cd /data/app/mysql

# 復(fù)制默認(rèn)啟動(dòng)腳本并重命名
cp support-files/mysql.server ./mysqld.sh

###################################
# 修改啟動(dòng)腳本內(nèi)容(可根據(jù)需求調(diào)整basedir、datadir、conf等)
 46 basedir=/data/app/mysql/
 47 datadir=/data/app/mysql/data/
 206   conf=/data/app/mysql/my.cnf
###################################


# 添加 MySQL bin 路徑至環(huán)境變量
echo 'export PATH=/data/app/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

啟動(dòng) MySQL 服務(wù)并測試連接

# 啟動(dòng) MySQL
./mysqld.sh start

# 查看運(yùn)行狀態(tài)
./mysqld.sh status
ps -ef | grep mysql
netstat -nltp | grep 3306

# 登錄測試(使用初始化生成的密碼或修改后的密碼)
mysql -u root -p

或:

# 若你已設(shè)置新密碼:
mysql -u root -p'test123456.'

常用操作總結(jié)

# 停止 MySQL 服務(wù)
./mysqld.sh stop

# 重啟 MySQL 服務(wù)
./mysqld.sh restart

# 查看 MySQL 日志
cat /data/app/mysql/log/mysql_error.log

注意事項(xiàng)

  • 非 root 用戶安裝需保證目錄權(quán)限正確
  • --initialize 只運(yùn)行一次,否則會(huì)清空已有數(shù)據(jù);
  • my.cnf 配置文件中路徑需確保存在;
  • 若啟動(dòng)失敗,優(yōu)先查看 mysql_error.log
  • mysqld.sh 腳本可考慮寫入 systemd 或 crontab 啟動(dòng);

結(jié)語

通過以上步驟,我們成功使用普通用戶 test 完成了 MySQL 5.7.34 的部署。這種方式不僅提升了安全性,也為后續(xù)自動(dòng)化部署和多用戶運(yùn)維打下了基礎(chǔ)。

到此這篇關(guān)于CentOS7系統(tǒng)下部署MySQL 5.7.34服務(wù)全過程的文章就介紹到這了,更多相關(guān)MySQL 5.7.34部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux測試端口連通性的5種方法

    Linux測試端口連通性的5種方法

    在Linux系統(tǒng)中,測試端口通不通是非常常見的情況之一,比如我們進(jìn)行網(wǎng)絡(luò)調(diào)試的時(shí)候就需要測試驗(yàn)證對(duì)應(yīng)的端口是否正常,那么Linux中測試端口通不通的方法是什么?以下是詳細(xì)內(nèi)容介紹
    2024-06-06
  • 在Linux中使用MD5實(shí)現(xiàn)用戶驗(yàn)證的解決方法

    在Linux中使用MD5實(shí)現(xiàn)用戶驗(yàn)證的解決方法

    本篇文章小編為大家介紹,在Linux中使用MD5實(shí)現(xiàn)用戶驗(yàn)證的解決方法。需要的朋友參考下
    2013-04-04
  • LInux下如何掛載光盤找rpm包的方法步驟

    LInux下如何掛載光盤找rpm包的方法步驟

    這篇文章主要介紹了 LInux下如何掛載光盤找rpm包的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Linux下如何創(chuàng)建SFTP賬號(hào)

    Linux下如何創(chuàng)建SFTP賬號(hào)

    這篇文章主要介紹了Linux下如何創(chuàng)建SFTP賬號(hào)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • linux php-cgi.exe占用cpu 100%的一次排障之旅

    linux php-cgi.exe占用cpu 100%的一次排障之旅

    這篇文章主要介紹了linux php-cgi.exe占用cpu 100%的一次排障之旅,需要的朋友可以參考下
    2016-09-09
  • Linux環(huán)境變量&&進(jìn)程地址空間詳解

    Linux環(huán)境變量&&進(jìn)程地址空間詳解

    本文介紹了Linux環(huán)境變量、命令行參數(shù)、進(jìn)程地址空間以及Linux內(nèi)核進(jìn)程調(diào)度隊(duì)列的相關(guān)知識(shí),環(huán)境變量是系統(tǒng)運(yùn)行環(huán)境的參數(shù),命令行參數(shù)用于傳遞給程序的參數(shù),進(jìn)程地址空間是進(jìn)程的虛擬內(nèi)存區(qū)域,而Linux內(nèi)核進(jìn)程調(diào)度隊(duì)列是進(jìn)程調(diào)度的核心數(shù)據(jù)結(jié)構(gòu)
    2025-02-02
  • vsftp上傳553 Could not create file錯(cuò)誤解決

    vsftp上傳553 Could not create file錯(cuò)誤解決

    本篇文章給大家分享了在vsftp上傳文件的時(shí)候出現(xiàn)了553 Could not create file錯(cuò)誤,針對(duì)這個(gè)錯(cuò)誤我們給出了解決辦法,一起學(xué)習(xí)下。
    2017-12-12
  • iis、apache與nginx禁止目錄執(zhí)行asp、php腳本的實(shí)現(xiàn)方法

    iis、apache與nginx禁止目錄執(zhí)行asp、php腳本的實(shí)現(xiàn)方法

    為了網(wǎng)站安全,很多圖片上傳目錄等不需要執(zhí)行腳本的目錄我們可以通過下面的方法禁止執(zhí)行腳本。
    2011-11-11
  • 詳解centos7使用無線wifi連接的方法

    詳解centos7使用無線wifi連接的方法

    本篇文章主要介紹了centos7使用無線wifi連接的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • Linux查找命令@which、find的使用方式

    Linux查找命令@which、find的使用方式

    這篇文章主要介紹了Linux查找命令@which、find的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06

最新評(píng)論