2.1Docker安裝MySQL8.0

2.1 Docker安裝MySQL8.0

1.拉取MySQL
docker pull mysql:latest

如:拉取MySQL8.0.33版本

docker pull mysql:8.0.33

image-20240327120200005

2. 啟動鏡像
docker run -p 3307:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=Hgh75667% -d mysql:8.0.33
  • -p 3307:3306 把mysql默認的3306端口映射到了3307
  • –name mysql8 docker啟動的容器名稱是mysql8
  • -e MYSQL_ROOT_PASSWORD=Hgh75667% 設置了密碼是Hgh75667%

檢查是否成功

docker ps

image-20240327120123270

3. 配置掛載

創建掛載目錄

mkdir -p /docker/mysql8.0.33/

檢查保證創建成功

cd /docker/mysql8.0.33/
pwd

image-20240327120431288

拷貝配置文件到創建的目錄下

docker cp  mysql8:/etc/mysql /docker/mysql8.0.33/
  • mysql8:/etc/mysql Docker容器中MySQL路徑
  • /docker/mysql8.0.33/ 新建的文件路徑

image-20240327121525380

4.刪除原有容器
docker stop mysql8
docker rm -f mysql8

image-20240327121642805

5. 啟動mysql掛載配置文件,數據持久化到宿主主機
新增my.cnf 進入到上面掛載目錄下、因為已經做了cp復制。所以可以到copy目錄下新增
cd /docker/mysql8.0.33/mysql/conf.d
vim my.cnf

粘貼內容:

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000[client]
default-character-set=utf8[mysql]
進入cd /docker/目錄,創建一個sh腳本、把docker啟動mysql的命令放到腳本里面。因為后續如果想找到當時啟動mysql時候所設置的一些參數和信息、可以查看這個腳本里面是怎么寫的。
cd /docker/
vim docker_insert_mysql8.0.33.sh

內容:

#!/bin/sh
docker run \
-p 3307:3306 \
--name mysql8 \
--privileged=true \
--restart unless-stopped \
-v /docker/mysql8.0.33/mysql:/etc/mysql \
-v /docker/mysql8.0.33/logs:/logs \
-v /docker/mysql8.0.33/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=Hgh75667% \
-d mysql:8.0.33

解釋

-p 端口映射 【這里有個特殊的地方是把3306映射給了3307、后續鏈接數據庫的時候用3307鏈接不用3306】

–name mysql8 名稱是mysql8

–privileged=true 掛載文件權限設置

–restart unless-stopped 設置 開機后自動重啟容器

-v /docker/mysql8.0.20/mysql:/etc/mysql \ 掛載配置文件【路徑是上面創建的掛載路徑】

-v /docker/mysql8.0.20/logs:/logs \ 掛載日志【路徑是上面創建的掛載路徑】

-v /docker/mysql8.0.20/data:/var/lib/mysql \ 掛載數據文件 持久化到主機【路徑是上面創建的掛載路徑】

-v /etc/localtime:/etc/localtime 容器時間與宿主機同步

-e MYSQL_ROOT_PASSWORD=Hgh75667 設置密碼

-d mysql:8.0.33 后臺啟動,mysql

執行docker_insert_mysql8.0.33.sh文件
sh docker_insert_mysql8.0.33.sh

檢查是否啟動成功

docker ps 

image-20240327142706453

6. 配置鏈接信息(遠程訪問配置)

這里已經成功啟動了、但是連接還需要在配置之后才可以鏈接。

進入mysql8 容器

docker exec -it mysql8 bash

在容器內登錄mysql

 mysql -u root -p
  • -u,登陸的用戶,MySQL數據庫的管理員用戶同Linux一樣,是root

  • -p,表示使用密碼登陸

執行完畢后輸入剛剛得到的初始密碼,即可進入MySQL數據庫,

如果出現異常:(初始密碼不成功,密碼默認為空,直接Enter)保證進入到mysql命令行。

image-20240327143044674

設置權限(為root分配權限,以便可以遠程連接)

grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
use mysql;
update user set host='%' where user='root';
select host,user from user where user = 'root';
show databases;

需要保證user表中更新了user為root,Host為%的用戶

image-20240327143516794

由于Mysql5.6以上的版本修改了Password算法,這里可以更新密碼算法,便于使用Navicat連接。

授予權限

grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;

允許root遠程登錄,并設置遠程登錄密碼

默認情況下,root用戶是不運行遠程登錄的,只允許在MySQL所在的Linux服務器登陸MySQL系統

請注意,允許root遠程登錄會帶來安全風險

ALTER user 'root'@'%' IDENTIFIED BY 'Hgh75667%' PASSWORD EXPIRE NEVER;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Hgh75667%';
FLUSH PRIVILEGES;

參考:https://blog.csdn.net/a1150499208/article/details/131437199?

7.Navicat鏈接數據庫

服務器端口開放

云服務器ECS -> 安全組 ->管理規則 -> 添加安全組

image-20240327153629303

連接成功
image-20240327154106026

云服務器ECS -> 安全組 ->管理規則 -> 添加安全組

[外鏈圖片轉存中…(img-VGGsV4Cx-1717081761454)]

連接成功
image-20240327154106026

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

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

相關文章

CentOs-7.5 root密碼忘記了,如何重置密碼?

VWmare軟件版本:VMware Workstation 16 Pro Centos系統版本:CentOS-7.5-x86 64-Minimal-1804 文章目錄 問題描述如何解決? 問題描述 長時間沒有使用Linux系統,root用戶密碼忘記了,登陸不上系統,如下圖所示…

【網絡安全】Web安全基礎 - 第一節:使用軟件及環境介紹

VMware VMware,是全球云基礎架構和移動商務解決方案的佼佼者。 VMware可是一個總部位于美國加州帕洛阿爾托的計算機虛擬化軟件研發與銷售企業呢。簡單來說,它就是通過提供虛擬化解決方案,讓企業在數據中心改造和公有云整合業務上更加得心應…

QImage和QPixmap的區別和使用

一、基本概念和特點 QImage 概念:QImage是Qt庫中用于處理圖像數據的一個類。它提供了直接訪問和操作圖像像素的接口。特點: 可以獨立于屏幕分辨率和設備處理圖像。支持讀取和保存多種圖像格式,如PNG、JPEG、BMP等。可以在沒有圖形界面的情況…

圖論第二天

最近加班時間又多了,隨緣吧,干不動就辭唄。真是想歇幾天了,題不能停!!今天目前只做了一道題,先用兩種方式把他搞出來。 695. 島嶼的最大面積 class Solution { public:int neighbor[4][2] {1,0,0,-1,-1,…

Linux系統管理基礎002

Linux系統管理基礎之文件管理二 Linux文件管理是系統管理中的重要組成部分 1.文件與目錄的基本概念 2. 特殊目錄與文件 3. 文件與目錄的操作 4. 文件權限管理 5. 查找處理文件 6. 關聯技巧 今天給大家介紹一下目錄的結構 1.文件與目錄的基本概念 管理類目錄: …

FreeRTOS基礎(三):動態創建任務

上一篇博客,我們講解了FreeRTOS中,我們講解了創建任務和刪除任務的API函數,那么這一講,我們從實戰出發,規范我們在FreeRTOS下的編碼風格,掌握動態創建任務的編碼風格,達到實戰應用! …

用貪心算法進行10進制整數轉化為2進制數

十進制整數轉二進制數用什么方法?網上一搜,大部分答案都是用短除法,也就是除2反向取余法。這種方法是最基本最常用的,但是計算步驟多,還容易出錯,那么還有沒有其他更好的方法嗎? 一、短除反向取…

AdroitFisherman模塊安裝日志(2024/5/31)

安裝指令 pip install AdroitFisherman-0.0.29.tar.gz -v 安裝條件 1:Microsoft Visual Studio Build Tools 2:python 3.10.x 顯示輸出 Using pip 24.0 from C:\Users\12952\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10) Processing c:\u…

matlab GUI界面設計

【實驗內容】 用MATLAB的GUI程序設計一個具備圖像邊緣檢測功能的用戶界面,該設計程序有以下基本功能: (1)圖像的讀取和保存。 (2)設計圖形用戶界面,讓用戶對圖像進行彩色圖像到灰度圖像的轉換…

3-哈希表-21-兩個數組的交集-LeetCode349

3-哈希表-21-兩個數組的交集-LeetCode349 參考:代碼隨想錄 LeetCode: 題目序號349 更多內容歡迎關注我(持續更新中,歡迎Star?) Github:CodeZeng1998/Java-Developer-Work-Note 技術公眾號:CodeZeng1998&…

2.1 OpenCV隨手簡記(二)

為后續項目學習做準備,我們需要了解LinuxOpenCV、Mediapipe、ROS、QT等知識。 一、圖像顯示與保存 1、基本原理 1.1 圖像像素存儲形式 首先得了解下圖像在計算機中存儲形式:(為了方便畫圖,每列像素值都寫一樣了)。對于只有黑白顏色的灰度…

[有監督學習]2.詳細圖解正則化

正則化 正則化是防止過擬合的一種方法,與線性回歸等算法配合使用。通過向損失函數增加懲罰項的方式對模型施加制約,有望提高模型的泛化能力。 概述 正則化是防止過擬合的方法,用于機器學習模型的訓練階段。過擬合是模型在驗證數據上產生的誤…

Java文件IO

White graces:個人主頁 🙉專欄推薦:Java入門知識🙉 🙉 內容推薦:JUC常見類🙉 🐹今日詩詞:東風吹柳日初長,雨馀芳草斜陽🐹 ??點贊 ??收藏??關注💬卑微小博主&…

Three.js 研究:4、創建設備底部旋轉的科技感圓環

1、實現效果 2、PNG轉SVG 2.1、原始物料 使用網站工具https://convertio.co/zh/png-svg/進行PNG轉SVG 3、導入SVG至Blender 4、制作旋轉動畫 4.1、給圓環著色 4.2、修改圓環中心位置 4.3、讓圓環旋轉起來 參考一下文章 Three.js 研究:1、如何讓物體動起來 Thre…

LeetCode # 1070. 產品銷售分析 III

1070. 產品銷售分析 III 題目 銷售表 Sales: ------------------ | Column Name | Type | ------------------ | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | ------------------ (sale_id, year) 是這張表的主鍵&am…

“論SOA在企業集成架構設計中的應用”必過模板,突擊2024軟考高項論文

考題部分 企業應用集成(Enterprise Application Integration, EAI)是每個企業都必須要面對的實際問題。面向服務的企業應用集成是一種基于面向服務體系結構(Service-OrientedArchitecture,SOA)的新型企業應用集成技術,強調將企業和組織內部的資源和業務功…

VSCode界面Outline只顯示類名和函數名,隱藏變量名

參考鏈接 https://blog.csdn.net/Zjhao666/article/details/120523879https://blog.csdn.net/Williamcsj/article/details/122401996 VSCode中界面左下角的Outline能夠方便快速跳轉到文件的某個類或函數,但默認同時顯示變量,導致找某個函數時很不方便。…

mimkatz獲取windows10明文密碼

目錄 mimkatz獲取windows10明文密碼原理 lsass.exe進程的作用 mimikatz的工作機制 Windows 10的特殊情況 實驗 實驗環境 實驗工具 實驗步驟 首先根據版本選擇相應的mimikatz 使用管理員身份運行cmd 修改注冊表 ?編輯 重啟 重啟電腦后打開mimikatz 在cmd切換到mi…

Seq2Seq模型:詳述其發展歷程、深遠影響與結構深度剖析

Seq2Seq(Sequence-to-Sequence)模型是一種深度學習架構,專為處理從一個輸入序列到一個輸出序列的映射任務設計。這種模型最初應用于機器翻譯任務,但因其靈活性和有效性,現已被廣泛應用于自然語言處理(NLP&a…

醫院該如何應對網絡安全?

在線醫生咨詢受到很多人的關注,互聯網醫療行業的未來發展空間巨大,但隨著醫院信息化建設高速發展 醫院積累了大量的患者基本信息、化驗結果、電子處方、生產數據和運營信息等數據 這些數據涉及公民隱私、醫院運作和發展等多因素,醫療行業辦…