openEuler 22.03 安裝 Mysql 5.7,TAR離線安裝

目錄

    • 一、檢查系統是否安裝其他版本Mariadb數據庫
    • 二、環境檢查
      • 2.1 必要環境檢查
      • 2.2 在線安裝(有網絡)
      • 2.3 離線安裝(無網絡)
    • 三、下載Mysql
      • 2.1 在線下載
      • 2.2 離線下載
    • 四、安裝Mysql
    • 五、配置Mysql
    • 六、開放防火墻端口
    • 七、數據備份
    • 八、生產環境優化
    • 九、常用命令

前言:
安裝目錄:/usr/local/mysql
數據目錄:/mnt/mysql/data
日志文件:/var/log/mysqld.log
運行目錄:/var/run/mysqld

一、檢查系統是否安裝其他版本Mariadb數據庫

# 查看已安裝的 Mariadb 數據庫版本
[root@openeuler ~]# rpm -qa|grep -i mariadb
# 卸載已安裝的 Mariadb 數據庫
[root@openeuler ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps

二、環境檢查

2.1 必要環境檢查

# 查看 libaio 版本
[root@openeuler ~]# rpm -q libaio
# 查看 numactl 版本
[root@openeuler ~]# rpm -q numactl
# 查看 ncurses-compat-libs 版本
[root@openeuler ~]# rpm -q ncurses-compat-libs

2.2 在線安裝(有網絡)

[root@openeuler ~]# sudo dnf install -y libaio numactl ncurses-compat-libs

2.3 離線安裝(無網絡)

1.3.1 軟件包下載
openEuler軟件中心:https://easysoftware.openeuler.org/zh/rpm
華為開源鏡像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
華中科技大學鏡像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
RPMFind:http://www.rpmfind.net/linux/rpm2html/search.php

依賴包下載:openEuler 22.03 離線安裝 Mysql 5.7 依賴包
1.3.2 軟件包安裝

# 切換到 RPM 包所在目錄,假設 RPM 包存放在 /home/rpm_packages 目錄下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安裝命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 強制安裝命令
# 重要事項:沒把握的話,千萬不要用下面這個命令,這個命令會忽略依賴和兼容性,可能會導致基礎組件被卸載掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force

小技巧:可以提前在有網絡環境下下載安裝包,移動到無網絡環境
yumdownloader --resolve libaio
yumdownloader --resolve numactl
yumdownloader --resolve ncurses-compat-libs

三、下載Mysql

2.1 在線下載

# 創建安裝目錄
[root@openeuler ~]# cd /usr/local/
[root@openeuler local]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz

2.2 離線下載

下載地址:https://downloads.mysql.com/archives/community/
上傳到 /usr/local 目錄下
在這里插入圖片描述

四、安裝Mysql

3.1 創建 MySQL 用戶和組

# 創建用戶和組
[root@openeuler ~]# sudo groupadd mysql
[root@openeuler ~]# sudo useradd -r -g mysql -s /bin/false mysql

3.2 初始化安裝

# 進入安裝目錄
[root@openeuler ~]# cd /usr/local/
# 解壓安裝包
[root@openeuler local]# tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz
# 重命名
[root@openeuler local]# sudo mv mysql-5.7.44-el7-x86_64 /usr/local/mysql
# 創建數據目錄
[root@openeuler local]# sudo mkdir -p /mnt/mysql/data
# 初始化
[root@openeuler local]# sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mnt/mysql/data

初始化完成后,會在終端輸出初始密碼,如 [Note] A temporary password is generated for root@localhost: xxxxxx),請務必記錄此密碼。

3.3 Mysql 用戶授權

# 安裝目錄授權
[root@openeuler local]# sudo chown -R mysql:mysql /usr/local/mysql
# PID目錄授權
[root@openeuler local]# sudo mkdir -p /var/run/mysqld
[root@openeuler local]# sudo chown -R mysql:mysql /var/run/mysqld
# 日志目錄授權
[root@openeuler local]# sudo touch /var/log/mysqld.log
[root@openeuler local]# sudo chown -R mysql:mysql /var/log/mysqld.log

3.4 配置 my.cnf

# 創建配置文件 /etc/my.cnf
[root@openeuler ~]# sudo tee /etc/my.cnf <<EOF[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
user=mysql
# 端口,默認3306
port=3366
# 安裝路徑
basedir=/usr/local/mysql
# 存儲路徑
datadir=/mnt/mysql/data
# 設置編碼
# character-set-server=utf8
# collation-server=utf8_general_ci
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 默認采用InnoDB存儲引擎
default-storage-engine=INNODB
# 設置大小寫敏感
lower_case_table_names=1
# sql_mode定義了支持的sql語法、數據校驗等
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 最大并行連接數
max_connections=100000[mysql]
# default-character-set = utf8
default-character-set = utf8mb4[mysql.server]
# default-character-set = utf8
default-character-set = utf8mb4[mysqld_safe]
# default-character-set = utf8
default-character-set = utf8mb4[client]
# default-character-set = utf8
default-character-set = utf8mb4
socket=/tmp/mysql.sock
EOF

3.5 設置環境變量

# /usr/local/mysql/bin 換成實際地址
[root@openeuler local]# echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile
[root@openeuler local]# source /etc/profile
[root@openeuler local]# env

3.6 配置 SELinux 安全上下文

[root@openeuler local]# sudo chcon -R -t mysqld_db_t /mnt/mysql/data
[root@openeuler local]# sudo semanage fcontext -a -t mysqld_db_t "/mnt/mysql/data(/.*)?"
[root@openeuler local]# sudo restorecon -Rv /mnt/mysql/data

3.7 配置 systemd 服務

# 創建自啟動腳本
[root@openeuler local]# sudo vi /etc/systemd/system/mysqld.service# =============================================================================
# 復制粘貼以下內容:
[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/mnt/mysql/data
RuntimeDirectory=mysqld
RuntimeDirectoryMode=0755[Install]
WantedBy=multi-user.target
# =============================================================================

3.8 啟動服務

# 注意:要保證 mysqld 后臺服務未啟動
# 設置開機自啟
[root@openeuler ~]# sudo systemctl daemon-reload
[root@openeuler ~]# sudo systemctl enable mysqld
# 啟動服務
[root@openeuler ~]# sudo systemctl start mysqld
# 查看服務狀態
[root@openeuler ~]# sudo systemctl status mysqld

五、配置Mysql

# 登錄 MySQL
[root@openeuler ~]# mysql -u root -p
Enter password:     ## 初始密碼# 重置密碼,新密碼root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 授權遠程訪問權限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新策略
mysql> FLUSH PRIVILEGES;#修改密碼長度限制策略
mysql> set global validate_password_policy=0;   #--表示將密碼安全等級設置為low
mysql> set global validate_password_length=1;   #--表示將密碼長度設置為最小6位
mysql> FLUSH PRIVILEGES;# 查看服務編碼UTF8
mysql> SHOW VARIABLES LIKE 'character%';
# 查看最大連接數
mysql> SHOW VARIABLES LIKE 'max_connections';
# 查看存儲路徑
mysql> SHOW VARIABLES LIKE '%datadir%';# 退出
mysql> exit

六、開放防火墻端口

# 查詢端口是否開放
[root@openeuler ~]# sudo firewall-cmd --query-port=3306/tcp
[root@openeuler ~]# sudo firewall-cmd --query-port=3366/tcp
# 開放端口(TCP協議)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3366/tcp --permanent
# 重新加載防火墻規則
[root@openeuler ~]# sudo firewall-cmd --reload
# 驗證端口是否開放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt

七、數據備份

Linux 環境下 Mysql 5.7 數據定期備份

八、生產環境優化

生產環境優化 Mysql 5.7

九、常用命令

# 啟動服務
sudo systemctl start mysqld
# 查看服務狀態
sudo systemctl status mysqld
# 重啟服務
sudo systemctl restart mysqld
# 停止服務
sudo systemctl stop mysqld查看版本:mysql -V查看進程:ps -ef | grep mysqld
如果有mysqld_safe和mysqld兩個進程,說明MySQL服務當前在啟動狀態

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78121.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78121.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78121.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

噴泉碼技術在現代物聯網中的應用 設計

噴泉碼技術在現代物聯網中的應用 摘 要 噴泉碼作為一種無速率編碼技術,憑借其動態生成編碼包的特性,在物聯網通信中展現出獨特的優勢。其核心思想在于接收端只需接收到足夠數量的任意編碼包即可恢復原始數據,這種特性使其特別適用于動態信道和多用戶場景。噴泉碼的實現主要…

GZIPInputStream 類詳解

GZIPInputStream 類詳解 GZIPInputStream 是 Java 中用于解壓縮 GZIP 格式數據的流類,屬于 java.util.zip 包。它是 InflaterInputStream 的子類,專門處理 GZIP 壓縮格式(.gz 文件)。 1. 核心功能 解壓 GZIP 格式數據(RFC 1952 標準)自動處理 GZIP 頭尾信息(校驗和、時…

網絡編程——TCP和UDP詳細講解

文章目錄 TCP/UDP全面詳解什么是TCP和UDP&#xff1f;TCP如何保證可靠性&#xff1f;1. 序列號&#xff08;Sequence Number&#xff09;2. 確認應答&#xff08;ACK&#xff09;3. 超時重傳&#xff08;Timeout Retransmission&#xff09;4. 窗口控制&#xff08;Sliding Win…

性能測試工具篇

文章目錄 目錄1. JMeter介紹1.1 安裝JMeter1.2 打開JMeter1.3 JMeter基礎配置1.4 JMeter基本使用流程1.5 JMeter元件作用域和執行順序 2. 重點組件2.1 線程組2.2 HTTP取樣器2.3 查看結果樹2.4 HTTP請求默認值2.5 JSON提取器2.6 用戶定義的變量2.7 JSON斷言2.8 同步定時器&#…

rabbitMQ如何確保消息不會丟失

rabbitmq消息丟失的三種情況 生產者將消息發送到RabbitMQ的過程中時&#xff0c;消息丟失。消息發送到RabbitMQ&#xff0c;還未被持久化就丟失了數據。消費者接收到消息&#xff0c;還未處理&#xff0c;比如服務宕機導致消息丟失。 解決方案 生產者發送過程中&#xff0c;…

Beetle-RP2350 擴展板設計

Beetle-RP2350 擴展板設計 本文介紹了 DFRobot Beetle RP2350 開發板的擴展板設計&#xff0c;包括參數特點、效果展示、原理圖、實物驗證、工程測試等&#xff0c;為 RP2350 系列產品的開發提供了便捷。 PCB 工程詳見&#xff1a;Beetle-RP2350擴展板 - 立創開源硬件平臺 . …

2025年一加7pro刷twpr / magisk / kali nethunter教程+資源下載+避坑指南

從二手市場500淘了一個一加7pro 12+256 ,根據網上教程刷機但很多坑,折騰一周后搞定,記錄下給后人避坑 資源下載:鏈接:https://pan.quark.cn/s/c16b972509f2 提取碼:mUW7 本文是主流程+避坑指南,沒有基礎的需要手把手教學的shell都不會的就別看了,直接放棄或者tb找人花錢…

java HashMap,高效 哈希

java HashMap 有獨特的設計。 哈希表數組的每個位置是一個哈希桶&#xff0c;里面由鏈表或紅黑樹實現。&#xff08;> 8 或 < 6 的變化時&#xff0c;避免頻繁切換&#xff09; 容量&#xff08;capacity&#xff09;&#xff1a; 哈希表中桶&#xff08;bucket&#xf…

【業務領域】計算機網絡基礎知識

《計算機網絡方面有哪些書籍值得推薦&#xff1f;》 知乎掃盲貼&#xff1a; 《網絡是怎么鏈接的》 初識RDMA技術——RDMA概念&#xff0c;特點&#xff0c;協議&#xff0c;通信流程 采樣 》 存儲 》傳輸 》處理 》反應 傳感器 存儲器 接口 算法/cpu 機器

List--鏈表

一、鏈表 1.1 什么是List&#xff1f; 在C語言中&#xff0c;我們需要使用結構體struct來進行List(鏈表&#xff09;的實現&#xff1a; struct ListNode {DataType Data;//DataType是任意類型的變量定義struct ListNode* next;//指向下一個結點的指針變量 }; 與之前的vect…

tensor 的計算操作

1、創建tensor 常見創建 tensor 的方法 函數 作用 torch.Tensor(*size) 通過指定尺寸&#xff0c;生成一個 值全為 0 的 tensor torch.tensor(*list) 直接通過指定數據&#xff0c;生成tensor&#xff0c;支持 List、Numpy數組 torch.eye(row, column) 按照指定的行列數…

【Java面試題04】MySQL 篇

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、MySQL 篇&#xff1a;??????1、MySQL 是如何實現事務的? 后序還在更新中~~~三、總結&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ?? 你每一…

UDP/TCP協議知識及相關機制

一.UDP協議 UDP是一種無連接、不可靠、面向報文、全雙工傳輸層的協議~ 1.無連接 &#xff1a; 知道對端的端口號和IP可以直接傳輸&#xff0c;不需要建立連接 2..不可靠&#xff1a;沒有確認機制&#xff0c;沒有重傳機制&#xff0c;不知道數據包能否能正確到達對端&#xff0…

【AI面試準備】語言模型、語音、多模態等模型能力評估指標和能力邊界

面試崗位提出這個要求:掌握語言模型、語音、多模態等模型能力評估指標和能力邊界。 以下是針對語言模型、語音模型、多模態模型能力評估指標與能力邊界的結構化總結,結合高頻面試考點和實際應用場景: 目錄 **一、語言模型(LLM)評估與邊界**1. **核心評估指標**2. **能力邊…

優雅關閉服務:深入理解 SIGINT / SIGTERM 信號處理機制

目錄 為什么需要優雅關閉&#xff1f; 什么是 SIGINT 和 SIGTERM&#xff1f; 如何實現優雅關閉&#xff08;以 C 為例&#xff09; 示例代碼&#xff08;gRPC 服務 Boost 信號監聽&#xff09;&#xff1a; 優雅關閉時的清理內容通常包括&#xff1a; 與 SIGKILL 的區別…

容器化-Docker-集群

一、Docker 集群基礎概念? 1、什么是 Docker 集群? Docker 集群是由多個 Docker 主機組成的集合,這些主機通過網絡連接在一起,共同管理和運行容器。在集群中,我們可以將容器服務均勻地分布到各個節點上,實現負載均衡和資源的高效利用。Docker 集群的核心組件包括管理器…

關于kafka

1.為什么需要消息隊列 舉個經典的例子。 你是一個網購達人&#xff0c;經常在網上購物。快遞小哥到了你的小區后&#xff0c;立刻給你打電話說&#xff1a;“你的快遞到了&#xff0c;請馬上來取。” 但你是一個合格的牛馬&#xff0c;在上班&#xff0c;不方便取快遞&#…

微服務即時通信系統(十二)---入口網關子服務

目錄 功能設計 模塊劃分 業務接口/功能示意圖 服務實現流程 網關HTTP接口 網關WebSocket接口 總體流程 服務代碼實現 客戶端長連接管理封裝(connectionManage.hpp) proto文件的編寫 身份鑒權proto 事件通知proto 各項請求的URL的確定 服務端完成入口網關服務類…

存儲器層次結構:理解計算機記憶的金字塔

存儲器層次結構&#xff1a;理解計算機記憶的金字塔 在計算機系統中&#xff0c;“速度”與“成本”常常處于對立面。為了在速度與成本之間取得平衡&#xff0c;計算機體系結構采用了一種名為“存儲器層次結構&#xff08;Memory Hierarchy&#xff09;”的設計思想。本文將通…

HTTP 錯誤 500.19 - Internal Server Error

1.HTTP 錯誤 500.19 - Internal Server Error NetCore項目托管到IIS后&#xff0c;報錯如下&#xff1a; 原因是因為IIS中沒有安裝AspNetCoreModuleV2導致的&#xff0c; 1.打開IIS 2.選中服務器根節點&#xff0c;找到模塊&#xff0c;雙擊進入&#xff0c;確認模塊中是否存…