在MySQL Shell里 重啟MySQL 8.4實例

前一段時間看到MySQL官方視頻的Oracle工程師在mysql shell里面重啟mysql實例,感覺這個操作很方便,所以來試試,下面為該工程師的操作截圖

圖片

1.MySQL Shell?通過root用戶連上mysql,shutdown mysql實例

[root@mysql8_3?bin]# mysqlshMySQL Shell?8.4.5Copyright (c)?2016,?2025, Oracle?and/or?its affiliates.Oracle?is?a registered trademark?of?Oracle Corporation?and/or?its affiliates.Other names may be trademarks?of?their respective owners.Type?'\help'?or?'\?'?for?help;?'\quit'?to?exit.MySQL?SQL?>?\connect?--mysqlCreating a Classic session?to?'root@localhost'Fetching?global?names?for?auto-completion... Press?^C?to?stop.Your MySQL connection id?is?377Server version:?8.4.4-commercial MySQL Enterprise Server?-?CommercialNo?default?schema selected; type \use?<schema>?to?set?one.MySQL localhost?SQL?>?select?user();+----------------+|?user()|+----------------+|?root@localhost?|+----------------+1?row?in?set?(0.0008?sec)MySQL ?localhost ?SQL?>?shutdown;Query OK,?0?rows?affected (0.0005?sec)MySQL ?localhost ?SQL?>?select?user();ERROR:?2013?(HY000): Lost connection?to?MySQL server during queryThe?global?session got disconnected..Attempting?to?reconnect?to?'mysql://root@/tmp%2Fmysql.sock'..............The?global?session could?not?be reconnected automatically.Please use?'\reconnect'?instead?to?manually reconnect.MySQL ?SQL?>MySQL ?SQL?>?\reconnectAttempting?to?reconnect?to?'mysql://root@/tmp%2Fmysql.sock'..............The?global?session could?not?be reconnected automatically.Please use?'\reconnect'?instead?to?manually reconnect.MySQL ?SQL?>

2.我們從系統上看一下mysql服務,看來默認在mysqlsh里shutdown mysql實例可以使用

[root@mysql8_3 bin]# systemctl status mysqld83308.service● mysqld83308.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: inactive (dead) since Thu 2025-04-24 12:00:39 CST; 57s agoProcess: 16169 ExecStart=/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf (code=exited, status=0/SUCCESS)Main PID: 16169 (code=exited, status=0/SUCCESS)4月24 11:57:13 mysql8_3.52 systemd[1]: Started MySQL Server.4月24 12:00:39 mysql8_3.52 systemd[1]: mysqld83308.service: Succeeded.[root@mysql8_3 bin]#

3.我們啟動一下mysql服務

[root@mysql8_3 bin]# systemctl start mysqld83308.service[root@mysql8_3 bin]# systemctl status mysqld83308.service● mysqld83308.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2025-04-24 12:02:22 CST; 2s agoMain PID: 16417 (mysqld)Tasks: 17 (limit: 22962)Memory: 579.5MCGroup: /system.slice/mysqld83308.service└─16417 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf4月24 12:02:22 mysql8_3.52 systemd[1]: Started MySQL Server.[root@mysql8_3 bin]#

4.我們在mysqlsh里執行重啟命令,報錯了

[root@mysql8_3?bin]# mysqlshMySQL Shell?8.4.5Copyright (c)?2016,?2025, Oracle?and/or?its affiliates.Oracle?is?a registered trademark?of?Oracle Corporation?and/or?its affiliates.Other names may be trademarks?of?their respective owners.Type?'\help'?or?'\?'?for?help;?'\quit'?to?exit.MySQL ?SQL?>?\connect?--mysqlCreating a Classic session?to?'root@localhost'Fetching?global?names?for?auto-completion... Press?^C?to?stop.Your MySQL connection id?is?44Server version:?8.4.4-commercial MySQL Enterprise Server?-?CommercialNo?default?schema selected; type \use?<schema>?to?set?one.MySQL ?localhost ?SQL?>?select?user();+----------------+|?user()|+----------------+|?root@localhost?|+----------------+1?row?in?set?(0.0004?sec)MySQL ?localhost ?SQL?>?restart;ERROR:?3707?(HY000): Restart server failed (mysqld?is?not?managed?by?supervisor process).MySQL ?localhost ?SQL?>

5.看看官方文檔的實現腳本

#!/bin/bashexport?MYSQLD_PARENT_PID=$$export?MYSQLD_RESTART_EXIT=16while?true?;?dobin/mysqld mysqld options hereif?[ $? -ne?$MYSQLD_RESTART_EXIT?];?thenbreakfiDone

圖片

圖片

6.我們根據官方文檔創建mysql?啟動腳本并啟動數據庫,當然啟動前先要停止mysql實例

[root@mysql8_3 mysql3308]# cat start.sh#!/bin/bashexport?MYSQLD_PARENT_PID=$$export?MYSQLD_RESTART_EXIT=16while?true?;?do/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnfif?[ $? -ne?$MYSQLD_RESTART_EXIT?];?thenbreakfi
[root@mysql8_3 mysql3308]# chmod +x start.sh[root@mysql8_3 mysql3308]# ./start.sh

7.測試,通過使用官方提供的腳本格式編寫的start.sh腳本啟動數據庫,能夠實現mysqlsh重啟mysql實例

圖片

8.根據這個腳本的邏輯修改systemd啟動腳本

[root@mysql8_3 ~]# vim /usr/lib/systemd/system/mysqld83308.service# This service is actually a systemd target,# but we are using a service since targets cannot be reloaded.[Unit]Description=MySQL ServerDocumentation=mysqld.serviceAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]RestartForceExitStatus=16Environment=MYSQLD_PARENT_PID=1User=mysqlGroup=mysqlExecStart=/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnfLimitNOFILE?=?5000

9.重啟服務

[root@mysql8_3 bin]# systemctl daemon-reload[root@mysql8_3 bin]# systemctl start mysqld83308.service[root@mysql8_3 bin]# systemctl status mysqld83308.service● mysqld83308.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2025-04-24 12:19:43 CST; 2s agoMain PID: 17310 (mysqld)Tasks: 30 (limit: 22962)Memory: 672.4MCGroup: /system.slice/mysqld83308.service└─17310 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf4月24 12:19:43 mysql8_3.52 systemd[1]: Started MySQL Server.

10.測試使用systemd啟動腳本的mysqlsh重啟效果

圖片

這兩種方法均能實現,原理來自官方腳本

參考:

https://dev.mysql.com/doc/refman/8.4/en/restart.html

https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#Environment

https://www.jinbuguo.com/systemd/systemd.service.html

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

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

相關文章

truffle

文章目錄 truffle目錄結構各文件作用在本地測試合約 truffle 項目來自https://github.com/Dapp-Learning-DAO/Dapp-Learning/blob/main/basic/04-web3js-truffle/README-CN.md Truffle 是基于 Solidity 語言的一套開發框架&#xff0c;它簡化了去中心化應用&#xff08;Dapp&…

SpringCloud核心組件Eureka菜鳥教程

關于Spring Cloud Eureka的核心概念 Eureka 是 Netflix 開源的一款基于 REST 的服務發現工具&#xff0c;主要用于中間層服務器的云端負載均衡。它通過維護一個服務注冊表來實現服務之間的通信1。在 Spring Cloud 中&#xff0c;Eureka 提供了一個高可用的服務注冊與發現機制&a…

職業教育新形態數字教材的建設與應用:重構教育生態的數字化革命

教育部新時代職業學校名師(名匠)名校長培養計劃專題 四川省第四批職業學校名師(名匠)培養計劃專題 在某職業院校的智能制造課堂上&#xff0c;學生佩戴VR設備&#xff0c;通過數字教材中的虛擬工廠完成設備裝配訓練&#xff0c;系統實時生成操作評分與改進建議。這一場景折射出…

基于Python的攜程國際機票價格抓取與分析

一、項目背景與目標 攜程作為中國領先的在線旅行服務平臺&#xff0c;提供了豐富的機票預訂服務。其國際機票價格受多種因素影響&#xff0c;包括季節、節假日、航班時刻等。通過抓取攜程國際機票價格數據&#xff0c;我們可以進行價格趨勢分析、性價比評估以及旅行規劃建議等…

Windows 圖形顯示驅動開發-初始化WDDM 1.2 和 PnP

(WDDM) 1.2 及更高版本顯示微型端口驅動程序的所有 Windows 顯示驅動程序都必須支持以下行為&#xff0c;以響應即插即用 (PnP) 基礎結構啟動和停止請求。 根據驅動程序返回成功或失敗代碼&#xff0c;或者系統硬件是基于基本輸入/輸出系統 (BIOS) 還是統一可擴展固件接口 (UEF…

【1區SCI】Fusion entropy融合熵,多尺度,復合多尺度、時移多尺度、層次 + 故障識別、診斷-matlab代碼

引言 2024年9月&#xff0c;研究者在數學領域國際頂級SCI期刊《Chaos, Solitons & Fractals》&#xff08;JCR 1區&#xff0c;中科院1區 Top&#xff09;上以“Fusion entropy and its spatial post-multiscale version: Methodology and application”為題發表最新科學研…

高并發架構設計之緩存

一、引言 緩存技術作為高并發架構設計的基石之一&#xff0c;通過數據暫存和快速訪問機制&#xff0c;在提升系統性能、降低后端負載方面發揮著不可替代的作用。優秀的緩存設計能夠將系統吞吐量提升數個數量級&#xff0c;將響應時間從秒級降至毫秒級&#xff0c;甚至成為系統…

Unity AI-使用Ollama本地大語言模型運行框架運行本地Deepseek等模型實現聊天對話(一)

一、Ollama介紹 官方網頁&#xff1a;Ollama官方網址 中文文檔參考&#xff1a;Ollama中文文檔 相關教程&#xff1a;Ollama教程 Ollama 是一個開源的工具&#xff0c;旨在簡化大型語言模型&#xff08;LLM&#xff09;在本地計算機上的運行和管理。它允許用戶無需復雜的配置…

Docker Python 鏡像使用指南

1. 使用 Python 鏡像創建容器 docker run -itd -v /data:/data python:latest 作用&#xff1a;創建一個基于 python:latest 鏡像的容器&#xff0c;并后臺運行。 參數說明&#xff1a; -itd&#xff1a;交互式后臺運行&#xff08;-i 交互模式&#xff0c;-t 分配偽終端&…

matlab中Simscape的調用-入門

Simscape 是由 MathWorks 公司開發的一款基于物理建模的仿真工具&#xff0c;它建立在 MATLAB/Simulink 平臺之上&#xff0c;專門用于建模和仿真多領域物理系統。 主要特點 多領域建模&#xff1a;Simscape 提供了豐富的物理元件庫&#xff0c;涵蓋了機械、電氣、液壓、氣動…

Flowable7.x學習筆記(十三)查看部署流程圖

前言 Flowable 的流程圖是 Flowable Modeler 或 Process Editor 中&#xff0c;使用拖拽和屬性面板基于 BPMN 2.0 元素&#xff08;如任務、網關、事件、序列流等&#xff09;渲染出的業務流程圖形界面?。 一、將圖形導出可查看的作用 ① 可視化建模 幫助業務分析師和開發者…

Bootstrap 模態框

Bootstrap 模態框 Bootstrap 模態框&#xff08;Modal&#xff09;是 Bootstrap 框架中的一個組件&#xff0c;它允許你在一個頁面中創建一個模態對話框&#xff0c;用于顯示內容、表單、圖像或其他信息。模態框通常覆蓋在當前頁面上&#xff0c;提供了一種不離開當前頁面的交…

python-69-基于graphviz可視化軟件生成流程圖

文章目錄 1 Graphviz可視化軟件1.1 graphviz簡介1.2 安裝部署2 基于python示例應用2.1 基本示例2.2 解決中文顯示亂碼2.3 顯示多個輸出邊2.4 顯示輸出引腳名稱2.5 從左至右顯示布局2.6 設置節點為方形3 參考附錄1 Graphviz可視化軟件 1.1 graphviz簡介 Graphviz(Graph Visua…

AJAX 介紹

一、什么是AJAX ? AJAX 是 異步的 JavaScript 和 XML&#xff08;Asynchronous JavaScript And XML&#xff09; 的縮寫&#xff0c;是一種實現瀏覽器與服務器進行數據通信的技術。其核心是通過 XMLHttpRequest 對象在不重新刷新頁面的前提下&#xff0c;與服務器交換數據并更…

新ubuntu物理機開啟ipv6讓外網訪問

Ubuntu 物理機 SSH 遠程連接與 IPv6 外網訪問測試指南 1. 通過 SSH 遠程連接 Ubuntu 物理機 1.1 安裝 SSH 服務 sudo apt update sudo apt install openssh-server1.2 檢查 SSH 服務狀態 sudo systemctl status ssh確認出現 active (running)。 1.3 獲取物理機 IP 地址 i…

linux系統上使用nginx訪問php文件返回File not found錯誤處理方案

linux系統上使用nginx訪問php文件返回File not found錯誤處理方案 第一種情況第二種情況 第一種情況 可以在你的location php 里面添加當文件不存在時返回404而不是交給php-fpm進行處理 location ~ \.php$ { ... #文件不存在轉404 try_files $uri 404; ... }然后&#xff0c…

基于 SpringBoot 與 Redis 的緩存預熱案例

文章目錄 “緩存預熱” 是什么&#xff1f;項目環境搭建創建數據訪問層預熱數據到 Redis 中創建緩存服務類測試緩存預熱 “緩存預熱” 是什么&#xff1f; 緩存預熱是一種優化策略&#xff0c;在系統啟動或者流量高峰來臨之前&#xff0c;將一些經常訪問的數據提前加載到緩存中…

java—11 Redis

目錄 一、Redis概述 二、Redis類型及編碼 三、Redis對象的編碼 1. 類型&編碼的對應關系 2. string類型常用命令 &#xff08;1&#xff09;string類型內部實現——int編碼 &#xff08;2&#xff09;string類型內部實現——embstr編碼 ?編輯 &#xff08;3&#x…

分布式鏈路追蹤理論

基本概念 分布式調用鏈標準-openTracing Span-節點組成跟蹤樹結構 有一些特定的變量&#xff0c;SpanName SpanId traceId spanParentId Trace&#xff08;追蹤&#xff09;&#xff1a;代表一個完整的請求流程&#xff08;如用戶下單&#xff09;&#xff0c;由多個Span組成…

err: Error: Request failed with status code 400

好的&#xff0c;今天學習ai的時候從前端發送請求&#xff0c;實在是想不通為啥會啥是一個壞請求&#xff0c;后來從前端方法一個一個找參數&#xff0c;傳遞的值都有&#xff0c;然后想到我這邊需要傳遞的是一個對象&#xff0c;那么后端使用的RequestParam就接收不到json對象…