亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、部署環(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, 默認(rèn)分區(qū)

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

二、下載地址

MySQL :: Download MySQL Community Server

image-20241028163656913

版本選擇

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

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

演示使用的是glibc2.28版本的包,后續(xù)我也將這個(gè)版本的Mysql部署到開發(fā)和測(cè)試環(huán)境中使用,組員一起體驗(yà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依賴 (坑)

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

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

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

image-20241028194337230

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

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

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

image-20241028194912390

這里介紹查找方法;

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

apt search libaio

image-20241028182214358

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

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

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

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 軟連接的地址不存在;

解決方法就是重新建立一個(gè)軟鏈接

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

# 開啟遠(yuǎn)程,類似dblink
federated
log_bin_trust_function_creators=1
# 時(shí)間跟隨本地
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 啟動(dòng)mysql

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

image-20241028195723970

設(shè)置開機(jī)啟動(dòng)

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賬號(hào)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 兩種解決辦法

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

具體做法就是修改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;

至此部署完成~

四、快速部署腳本

該腳本適用于快速部署使用,請(qǐng)注意安裝包版本與系統(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

# 開啟遠(yuǎn)程,類似 dblink
federated
log_bin_trust_function_creators=1
# 時(shí)間跟隨本地
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

### 啟動(dòng) mysql
systemctl daemon-reload
systemctl start mysql
systemctl enable mysql

### mysql修改密碼 并允許遠(yuǎn)程
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中離線部署的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mysql8.4.3LTS 離線部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位)

    最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位)

    這篇文章主要介紹了最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位),本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 分析Mysql表讀寫、索引等操作的sql語(yǔ)句效率優(yōu)化問題

    分析Mysql表讀寫、索引等操作的sql語(yǔ)句效率優(yōu)化問題

    今天小編就為大家分享一篇關(guān)于分析Mysql表讀寫、索引等操作的sql語(yǔ)句效率優(yōu)化問題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • mysql字符串拼接的幾種實(shí)用方式小結(jié)

    mysql字符串拼接的幾種實(shí)用方式小結(jié)

    在SQL語(yǔ)句中經(jīng)常需要進(jìn)行字符串拼接,下面這篇文章主要給大家介紹了關(guān)于mysql字符串拼接的幾種實(shí)用方式,文中通過圖文以及代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • MySQL中字符串函數(shù)詳細(xì)介紹

    MySQL中字符串函數(shù)詳細(xì)介紹

    通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。
    2011-05-05
  • mysql8.0忘記密碼的詳細(xì)解決方法

    mysql8.0忘記密碼的詳細(xì)解決方法

    很早前安裝了MYSQL,現(xiàn)在由于需要使用MYSQL但忘記密碼,所以下面這篇文章主要給大家介紹了關(guān)于mysql8.0忘記密碼的詳細(xì)解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • MySQL?數(shù)據(jù)庫(kù)整合攻略之表操作技巧與詳解

    MySQL?數(shù)據(jù)庫(kù)整合攻略之表操作技巧與詳解

    本文詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)中表的創(chuàng)建、查看、修改和刪除等操作技巧,感興趣的朋友一起看看吧
    2024-11-11
  • MySQL 出現(xiàn)錯(cuò)誤1418 的原因分析及解決方法

    MySQL 出現(xiàn)錯(cuò)誤1418 的原因分析及解決方法

    這篇文章主要介紹了MySQL 出現(xiàn)錯(cuò)誤1418 的原因分析及解決方法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • MySQL的安裝與配置詳細(xì)教程

    MySQL的安裝與配置詳細(xì)教程

    MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),所使用的 SQL 語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用的,本文主要以Mysql免安裝版為例,幫助大家解決安裝與配置mysql的步驟
    2021-06-06
  • MySQL高可用解決方案MMM(mysql多主復(fù)制管理器)

    MySQL高可用解決方案MMM(mysql多主復(fù)制管理器)

    MySQL本身沒有提供replication failover的解決方案,通過MMM方案能實(shí)現(xiàn)服務(wù)器的故障轉(zhuǎn)移,從而實(shí)現(xiàn)mysql的高可用。MMM不僅能提供浮動(dòng)IP的功能,如果當(dāng)前的主服務(wù)器掛掉后,會(huì)將你后端的從服務(wù)器自動(dòng)轉(zhuǎn)向新的主服務(wù)器進(jìn)行同步復(fù)制,不用手工更改同步配置
    2017-09-09
  • MySQL 中定義和使用變量的方法

    MySQL 中定義和使用變量的方法

    MySQL 提供了多種類型的變量,以適應(yīng)不同的應(yīng)用場(chǎng)景,用戶定義的變量適用于簡(jiǎn)單的會(huì)話內(nèi)數(shù)據(jù)傳遞,局部變量適合在復(fù)雜的存儲(chǔ)過程中使用,而會(huì)話變量則用于調(diào)整和優(yōu)化數(shù)據(jù)庫(kù)會(huì)話的行為,這篇文章主要介紹了MySQL 中定義和使用變量,需要的朋友可以參考下
    2024-04-04

最新評(píng)論