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

Mysql8.4.3LTS中離線部署的實現(xiàn)示例

 更新時間:2024年11月15日 11:45:44   作者:JavaOpsPro  
本文詳細介紹了在Ubuntu 24.04系統(tǒng)上離線部署MySQL 8.4.3 LTS,包括環(huán)境配置、安裝步驟等步驟,對小白有一定的幫助,感興趣的可以了解一下

一、部署環(huán)境

軟件:mysql8.4.3LTS

系統(tǒng):ubuntu24.04

資源配置

資源分配的大小與業(yè)務(wù)系統(tǒng)的體量有關(guān)系;所以沒有固定

CPU: 2核

內(nèi)存: 4 GB

磁盤: 50 GB sda[系統(tǒng)盤] 50GB, 默認分區(qū)

sdc[數(shù)據(jù)盤] 100GB 掛載點 /dcdata

二、下載地址

MySQL :: Download MySQL Community Server

image-20241028163656913

版本選擇

由于我的操作系統(tǒng)比較新, 通過 ldd --version 命令查看glibc版本為2.39,所以選擇了 glibc 2.28的版本

**注:**如果操作系統(tǒng)支持的話還是選擇新的;但是考慮兼容性和維護性,我個人的部署腳本中目前選擇的還是glibc2.17的包;

演示使用的是glibc2.28版本的包,后續(xù)我也將這個版本的Mysql部署到開發(fā)和測試環(huán)境中使用,組員一起體驗他的穩(wěn)定性和性能。

三、部署詳情

1. 上傳安裝包

將安裝包上傳到服務(wù)器中,使用root用戶安裝,上傳路徑

/root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz

2. 解壓軟件包

安裝包上傳后,執(zhí)行解壓到/dcsm目錄下

# 新建dcsm文件夾
mkdir /dcsm
tar -xvf /root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /dcsm
cd /dcsm && mv mysql-8.4.3-linux-glibc2.28-x86_64/ mysql

3. 安裝mysql

3.3.1 創(chuàng)建mysql用戶與用戶組

查詢系統(tǒng)中是否存在mysql用戶

cat /etc/passwd | cut -f1 -d':' | grep -w "mysql" -c

groupadd mysql && useradd -r -g mysql -s /bin/false mysql

image-20241028165731601

3.3.2 授權(quán)安裝文件夾

# 創(chuàng)建相關(guān)文件夾
mkdir -p /dcdata/mysql/log && mkdir -p /dcdata/mysql/data && mkdir -p /dcdata/mysql/run && mkdir -p /dcdata/mysql/lib

# 授權(quán)
chown -R mysql:mysql /dcsm/mysql && chown -R mysql:mysql /dcdata/mysql 

image-20241028170026153

3.3.3 安裝libaio依賴 (坑)

這個依賴是和你操作系統(tǒng)版本有關(guān)系的;

ubuntu24.04 中關(guān)于libaio的坑

該系統(tǒng)在安裝后自帶libaio

image-20241028194337230

雖然whereis搜不到libaio.so.1 這個文件; 但系統(tǒng)中確實安裝了 libaio;

這也是我后續(xù)初始化依然報錯的原因;解決辦法就是建立超鏈接,讓mysql在初始化的時候找到這個命令

ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1

image-20241028194912390

這里介紹查找方法;

找一臺和你鏡像一樣,或者操作系統(tǒng)版本一樣的可以聯(lián)網(wǎng)的機器;

apt search libaio

image-20241028182214358

/var/cache/apt/archives/ 下找到這個離線deb包; 在離線環(huán)境下就可以直接dpkg -i 安裝這個依賴包了

注:如果不安裝此依賴,后續(xù)初始化mysql數(shù)據(jù)庫時會提示缺少此依賴,官網(wǎng)教程中也特意提到要安裝這個依賴。

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

cd /dcsm/mysql 

# 初始化
bin/mysqld --initialize --user=mysql --basedir=/dcsm/mysql --datadir=/dcdata/mysql/data --log-error=/dcdata/mysql/log/mysqld.log

image-20241028190817744

注:這是ubuntu24.04 上的坑。系統(tǒng)的 libaio.so.1 軟連接的地址不存在;

解決方法就是重新建立一個軟鏈接

ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1

3.3.5 編輯my.cnf

/etc/my.cnf

[mysqld]
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
#innodb_buffer_pool_size = 128M
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
basedir=/dcsm/mysql
datadir=/dcdata/mysql/data
socket=/dcdata/mysql/lib/mysql.sock
port=3306
log-error=/dcdata/mysql/log/mysqld.log
pid-file=/dcdata/mysql/run/mysqld.pid

# 開啟遠程,類似dblink
federated
log_bin_trust_function_creators=1
# 時間跟隨本地
log_timestamps=system
# 允許最大連接數(shù)
max_connections=2000
# 關(guān)閉binlog日志
skip-log-bin

[mysql]
socket=/dcdata/mysql/lib/mysql.sock

3.3.6 配置環(huán)境變量

### 添加到系統(tǒng)服務(wù)中
cp /dcsm/mysql/support-files/mysql.server /etc/init.d/mysql  && chmod +x /etc/init.d/mysql

### 配置到環(huán)境變量中
echo "/dcsm/mysql/lib" >>/etc/ld.so.conf &&
echo "#MYSQL ENVIRONMENT" >>/etc/profile && 
echo "export PATH=/dcsm/mysql/bin:/dcsm/mysql/lib:\$PATH" >>/etc/profile && 
source /etc/profile

3.3.7 啟動mysql

### 重新加載systemd的配置信息
systemctl daemon-reload
systemctl start mysql

image-20241028195723970

設(shè)置開機啟動

systemctl enable mysql

3.3.8 登錄mysql

獲取初始化密碼

grep 'temporary password' /dcdata/mysql/log/mysqld.log | awk '{print $NF}'

image-20241028195933800

3.3.8.1 創(chuàng)建root

創(chuàng)建mysql賬號root,并設(shè)置密碼

mysql --connect-expired-password -uroot -p

然后輸入上述密碼;

連上mysql后,修改root密碼,

ALTER USER ‘root'@‘localhost' IDENTIFIED WITH mysql_native_password BY ‘MyNewPass';

image-20241028201140959

原因參考:[MySQL8.0.34 開始被棄用mysql_native_password插件](https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html#:~:text=MySQL client programs in MySQL 8.4 (and later),what is desired%2C like this%3A %24> mysql --default-auth%3Dmysql_native_password)

3.3.8.2 Plugin ‘mysql_native_password’ is not load 兩種解決辦法

重新啟動該插件(不推薦)

具體做法就是修改my.cnf 文件

image-20241028201541964

重啟mysql,即可生效;

使用官方推薦方式

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

3.3.8.3 授權(quán)

use mysql; update user set host = '%' where user ='root'; flush privileges;

至此部署完成~

四、快速部署腳本

該腳本適用于快速部署使用,請注意安裝包版本與系統(tǒng)版本;

我用的是ubuntu24.04, mysql8.4.3tls

vim deploy_mysql.sh

#!/bin/bash

### 假設(shè)安裝包已上傳到/root下

### 解壓軟件包
mkdir /dcsm
tar -xvf /root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /dcsm
cd /dcsm && mv mysql-8.4.3-linux-glibc2.28-x86_64/ mysql

### 創(chuàng)建 mysql 用戶與用戶組
if [ $(cat /etc/passwd | cut -f1 -d':' | grep -w "mysql" -c) -eq 0 ]; then
    groupadd mysql && useradd -r -g mysql -s /bin/false mysql
fi

### 授權(quán)安裝文件夾
mkdir -p /dcdata/mysql/log && mkdir -p /dcdata/mysql/data && mkdir -p /dcdata/mysql/run && mkdir -p /dcdata/mysql/lib
chown -R mysql:mysql /dcsm/mysql && chown -R mysql:mysql /dcdata/mysql

### 建立軟鏈接
ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1

### 初始化 Mysql
cd /dcsm/mysql

bin/mysqld --initialize --user=mysql --basedir=/dcsm/mysql --datadir=/dcdata/mysql/data --log-error=/dcdata/mysql/log/mysqld.log

# 3.3.5 編輯 my.cnf
cat <<EOF > /etc/my.cnf
[mysqld]
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
#innodb_buffer_pool_size = 128M
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
basedir=/dcsm/mysql
datadir=/dcdata/mysql/data
socket=/dcdata/mysql/lib/mysql.sock
port=3306
log-error=/dcdata/mysql/log/mysqld.log
pid-file=/dcdata/mysql/run/mysqld.pid

# 開啟遠程,類似 dblink
federated
log_bin_trust_function_creators=1
# 時間跟隨本地
log_timestamps=system
# 允許最大連接數(shù)
max_connections=2000
# 關(guān)閉 binlog 日志
skip-log-bin

[mysql]
socket=/dcdata/mysql/lib/mysql.sock
EOF

### 配置環(huán)境變量
cp /dcsm/mysql/support-files/mysql.server /etc/init.d/mysql && chmod +x /etc/init.d/mysql
echo "/dcsm/mysql/lib" >>/etc/ld.so.conf
echo "#MYSQL ENVIRONMENT" >>/etc/profile
echo "export PATH=/dcsm/mysql/bin:/dcsm/mysql/lib:\$PATH" >>/etc/profile
source /etc/profile

### 啟動 mysql
systemctl daemon-reload
systemctl start mysql
systemctl enable mysql

### mysql修改密碼 并允許遠程
initial_password=$(grep 'temporary password' /dcdata/mysql/log/mysqld.log | awk '{print $NF}')
mysql --connect-expired-password -uroot -p"$initial_password" <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
use mysql; update user set host = '%' where user ='root'; flush privileges;
EOF

source /etc/profile

腳本授權(quán)

chmod +x deploy_mysql.sh

執(zhí)行部署

./deploy_mysql.sh

image-20241028203200087

連接成功;

image-20241028203119358

 到此這篇關(guān)于Mysql8.4.3LTS中離線部署的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mysql8.4.3LTS 離線部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • MySQL?中的權(quán)限管理及驗證流程

    MySQL?中的權(quán)限管理及驗證流程

    這篇文章主要介紹了MySQL?中的權(quán)限管理及驗證流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • CentOS 7中升級MySQL 5.7.23的坑與解決方法

    CentOS 7中升級MySQL 5.7.23的坑與解決方法

    我們在安裝升級的時候會遇到一些問題,不過可能每個人遇到的問題不一樣,多找找才能解決問題喲,下面這篇文章主要給大家介紹了關(guān)于在CentOS 7中升級MySQL 5.7.23遇到的一個坑與解決方法,需要的朋友可以參考下
    2018-10-10
  • MySQL性能優(yōu)化

    MySQL性能優(yōu)化

    MySQL是目前使用最多的開源數(shù)據(jù)庫,但是MySQL數(shù)據(jù)庫的默認設(shè)置性能非常的差,僅僅是一個玩具數(shù)據(jù)庫。因此在產(chǎn)品中使用MySQL數(shù)據(jù)庫必須進行必要的優(yōu)化
    2013-02-02
  • MYSQL子查詢和嵌套查詢優(yōu)化實例解析

    MYSQL子查詢和嵌套查詢優(yōu)化實例解析

    本文通過實例向大家介紹了MYSQL子查詢和嵌套查詢優(yōu)化的相關(guān)內(nèi)容,附代碼示例,具有一定參考價值。希望對大家使用MySQL有所幫助。
    2017-10-10
  • MySQL中的引號和反引號的區(qū)別與用法詳解

    MySQL中的引號和反引號的區(qū)別與用法詳解

    這個問題是我在學(xué)習(xí)數(shù)據(jù)庫的時候遇到的一個問題,我當(dāng)時并不能理解下圖中的一些情況,后來我也請教了一位大佬給我解答,最后在大佬和度娘的幫助下我大概理解了這個反引號的東西
    2021-10-10
  • mysql sql_mode="" 的作用說明

    mysql sql_mode="" 的作用說明

    在看discuz源碼時看到了sql_mode="",不知道是干嘛的,猜想是設(shè)置模式,但是不清楚是什么模式,于是從網(wǎng)上搜了下,sql_mode="" 的作用
    2011-08-08
  • 淺談MySQL數(shù)據(jù)庫表鎖了怎么解鎖

    淺談MySQL數(shù)據(jù)庫表鎖了怎么解鎖

    在使用 MySQL 數(shù)據(jù)庫時,有時候會發(fā)生某個表被鎖住的情況,這可能會導(dǎo)致其他用戶無法對該表進行讀寫操作,影響系統(tǒng)的正常運行,本文主要介紹了淺談MySQL數(shù)據(jù)庫表鎖了怎么解鎖,感興趣的可以了解一下
    2023-10-10
  • MySQL實現(xiàn)崩潰恢復(fù)的幾種方法

    MySQL實現(xiàn)崩潰恢復(fù)的幾種方法

    MySQL 使用一系列日志和恢復(fù)機制來實現(xiàn)崩潰恢復(fù),確保數(shù)據(jù)庫在發(fā)生崩潰后可以恢復(fù)到一致的狀態(tài),主要依賴的日志包括 Redo Log、Undo Log 和 Binary Log,下面就來詳細的介紹一下
    2025-08-08
  • Mysql中關(guān)于on,in,as,where的區(qū)別

    Mysql中關(guān)于on,in,as,where的區(qū)別

    這篇文章主要介紹了Mysql中關(guān)于on,in,as,where的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 阿里云Centos 7.5安裝Mysql的教程

    阿里云Centos 7.5安裝Mysql的教程

    這篇文章主要介紹了阿里云Centos 7.5安裝Mysql的教程,需要的朋友可以參考下
    2017-07-07

最新評論

临城县| 仙桃市| 巍山| 喀喇沁旗| 榆社县| 布尔津县| 桐柏县| 盐亭县| 青河县| 吕梁市| 桂平市| 沙坪坝区| 楚雄市| 赤峰市| 石景山区| 云安县| 双流县| 英山县| 高密市| 云霄县| 蛟河市| 定西市| 嵩明县| 蕉岭县| 永定县| 乌拉特中旗| 扎鲁特旗| 大方县| 湘潭县| 连云港市| 平山县| 连江县| 库伦旗| 庆元县| 扎囊县| 额济纳旗| 西充县| 泊头市| 汶川县| 习水县| 灵丘县|