国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker部署Mysql數(shù)據(jù)庫詳解

這篇具有很好參考價值的文章主要介紹了Docker部署Mysql數(shù)據(jù)庫詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

?文章來源地址http://www.zghlxwxcb.cn/news/detail-543183.html

1. Docker部署Mysql

1.1 Mysql容器

1.1.1 創(chuàng)建Mysql容器

1.1.2 進(jìn)入Mysql容器并登錄Mysql

1.1.3 持久化數(shù)據(jù)

?1.2 遠(yuǎn)程登錄Mysql

1.2.1 修改root加密方式

1.2.2?在容器啟動時配置加密方式為mysql_native_password

?1.3 Mysql編碼

1.3.1 Mysql編碼問題

?1.3.2 Mysql編碼問題解決辦法

送書活動


?

Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理。在本博客中,我們將探討如何使用Docker部署兩個廣泛使用的數(shù)據(jù)庫:MySQL。我們將提供詳細(xì)的步驟和相應(yīng)的命令,以幫助您輕松地在Docker容器中設(shè)置和運行這個數(shù)據(jù)庫。

1. Docker部署Mysql

1.1 Mysql容器

1.1.1 創(chuàng)建Mysql容器

首先我們拉取mysql鏡像,要在Docker中部署MySQL數(shù)據(jù)庫,我們首先需要創(chuàng)建一個MySQL容器??梢允褂靡韵旅顒?chuàng)建一個MySQL 8..0.24版本的容器:

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306 mysql:8.0.24

此命令會創(chuàng)建一個名為mysql-container的容器,將MySQL的root用戶密碼設(shè)置為123456,并將宿主機的3307端口映射到容器的3306端口。

1.1.2 進(jìn)入Mysql容器并登錄Mysql

docker exec -it mysql-container mysql -u root -p

此命令將打開MySQL的命令行客戶端,并要求您輸入MySQL root用戶的密碼如下圖:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?然后我們就可以在這里進(jìn)行數(shù)據(jù)庫操作。

1.1.3 持久化數(shù)據(jù)

為了在容器重新啟動后保留MySQL數(shù)據(jù),可以將數(shù)據(jù)目錄映射到宿主機的目錄。在創(chuàng)建容器時,可以添加以下參數(shù):

-v /docker/mysql/config/my.cnf:/etc/my.cnf #宿主機目錄:mysql容器目錄
-v /docker/mysql/data:/var/lib/mysql 

這里可以進(jìn)行數(shù)據(jù)卷掛載,卷就是目錄或文件,存在于一個或多個容器中,由docker掛載到容器,但不屬于聯(lián)合文件系統(tǒng),因此能夠繞過Union File System提供一些用于持續(xù)存儲或共享數(shù)據(jù)的特性,卷的設(shè)計目的就是數(shù)據(jù)的持久化,完全獨立于容器的生存周期,因此Docker不會在容器刪除時刪除其掛載的數(shù)據(jù)卷。數(shù)據(jù)卷可在容器之間共享或重用數(shù)據(jù)并且卷中的更改可以直接實時生效,數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止。如下圖:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql
?

?1.2 遠(yuǎn)程登錄Mysql

在Mysql 8.x版本當(dāng)我們在云服務(wù)器上創(chuàng)建dockier容器后,嘗試遠(yuǎn)程登錄Docker容器內(nèi)數(shù)據(jù)庫的時候會遇見如下圖問題:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?這是什么原因呢?

出現(xiàn)1251的主要原因是由于mysql版本的問題,mysql8.0版本,與mysql8.0以下版本的加密方式不同,導(dǎo)致錯誤產(chǎn)生。

MySql 8.0.11 換了新的身份驗證插件(caching_sha2_password),而原來的身份驗證插件為(mysql_native_password)。? 而客戶端工具Navicat Premium12 中找不到新的身份驗證插件(caching_sha2_password),因此報上面的錯,所以我們將mysql用戶使用的 登錄密碼加密規(guī)則還原成 mysql_native_password,即可登陸成功。

1.2.1 修改root加密方式

運行下面的命令:

mysql -u root -p  #登陸mysql
use mysql;	# 切換mysql數(shù)據(jù)庫
select host, user, authentication_string, plugin from user; #查看root用戶登錄加密方式

如下圖:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?然后我們改變加密命令

alter user 'root'@'%' identified with mysql_native_password by '123456';

?然后再次查看root用戶登錄的加密方式

select host, user, authentication_string, plugin from user; #查看root用戶登錄加密方式

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql
?

?然后我們重新使用客戶端登錄系統(tǒng)顯示登錄成功。

1.2.2?在容器啟動時配置加密方式為mysql_native_password

代碼-e identified=mysql_native_password,配置了加密方式。

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306 -e identified=mysql_native_password mysql:8.0.24

?

?1.3 Mysql編碼

1.3.1 Mysql編碼問題

當(dāng)我們使用客戶端連接成功我們的docker容器后,然后進(jìn)行創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表格然后添加數(shù)據(jù)如下:

CREATE DATABASE /*!32312 IF NOT EXISTS*/`project` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `project`;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(20) DEFAULT NULL,
  `password` VARCHAR(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

/*Data for the table `user` */

INSERT  INTO `user`(`id`,`username`,`password`) VALUES (1,'張三','123'),(2,'lisi','456');

然后在我們的docker容器內(nèi)查詢mysql數(shù)據(jù)如下圖:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?然后我們發(fā)現(xiàn)了亂碼問題,亂碼一般都是因為編碼引起的,所以我們來查一下數(shù)據(jù)庫的編碼

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?1.3.2 Mysql編碼問題解決辦法

1.修改my.cnf文件

cd /etc/mysql/ #進(jìn)入my.cnf文件中的目錄
vim my.cnf #編輯my.cnf文件

2.出現(xiàn)bash: vim: command not found提示,需要安裝一下vim,使用如下命令

apt-get update
apt-get install vim -y

重新執(zhí)行vim命令。

3.?在 my.cnf文件中[mysql] 下面添加? default-character-set=utf8mb4,然后 :wq 退出。沒有 [mysql] 的話就寫一個。

如下圖:

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?

然后看一下mysql的字符集,已經(jīng)變成 utf8mb4 了,這樣就可以解決中文亂碼問題了。

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?查看表格數(shù)據(jù)

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

?至此我們的問題得到了成功解決。

?

送書活動

Python自動化辦公應(yīng)用大全(ChatGPT版):從零開始教編程小白一鍵搞定煩瑣工作(上下冊)

本書簡介:

本書全面系統(tǒng)地介紹了Python語言在常見辦公場景中的自動化解決方案。全書分為5篇21章,內(nèi)容包括Python語言基礎(chǔ)知識,Python讀寫數(shù)據(jù)常見方法,用Python自動操作Excel,用Python自動操作Word?與?PPT,用Python自動操作文件和文件夾、郵件、PDF?文件、圖片、視頻,用Python進(jìn)行數(shù)據(jù)可視化分析及進(jìn)行網(wǎng)頁交互,借助ChatGPT輕松進(jìn)階Python辦公自動化。?

本書適合各層次的信息工作者,既可作為初學(xué)Python的入門指南,又可作為中、高級自動化辦公用戶的參考手冊。書中大量的實例還適合讀者直接在工作中借鑒。

?

本書特色:

?

★方式新穎?詳細(xì)介紹了如何用?ChatGPT?來補充學(xué)習(xí)知識點,以及如何快速生成所需的代碼,零基礎(chǔ)人員學(xué)習(xí)編程的成本進(jìn)一步降低。

內(nèi)容豐富?以Excel數(shù)據(jù)處理與分析為重點,延展到?Word、PPT、郵件、圖片、視頻、音頻、本地文件管理、網(wǎng)頁交互等現(xiàn)代辦公所需要處理的各種形式的數(shù)據(jù)。

★案例實用?用大量易借鑒的案例幫助用戶學(xué)會在各個場景中使用自動化技術(shù)。

★作者權(quán)威?Excel?Home團(tuán)隊策劃,多位微軟全球最有價值專家(MVP)通力打造,確保每個案例都實用,對編程小白友好。

讓沒有編程經(jīng)驗的普通辦公人員也能駕馭?Python,實現(xiàn)多個場景的辦公自動化,提升效率!

?

作者簡介:

Excel?Home是微軟在線社區(qū)聯(lián)盟成員,全球華語Excel資源網(wǎng)站,擁有大量原創(chuàng)技術(shù)文章、視頻教程、加載宏及模板。Excel?Home是一個學(xué)習(xí)氛圍濃厚的技術(shù)交流社區(qū),中國大陸及中國港臺各行各業(yè)身懷絕技的Office高手都匯聚于此,目前已有三百多萬辦公人士選擇成為它的注冊會員。?Excel?Home已精心編寫并出版Office領(lǐng)域的圖書60余種,截至2020年春節(jié),圖書銷量累計達(dá)200多萬冊。

Docker部署Mysql數(shù)據(jù)庫詳解,Docker,數(shù)據(jù)庫,docker,mysql

當(dāng)當(dāng)鏈接:《Python自動化辦公應(yīng)用大全(ChatGPT版):從零開始教編程小白一鍵搞定煩瑣工作(上下冊)》(Excel Home)【簡介_書評_在線閱讀】 - 當(dāng)當(dāng)圖書

?關(guān)注博主、點贊、收藏、

評論區(qū)評論 “ 人生苦短,我愛python”

??即可參與送書活動!

? ? ? ? ? ? ? ? ? ? ? ? ? ?開獎時間:2023-07-17 21:00:00? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

?

?

到了這里,關(guān)于Docker部署Mysql數(shù)據(jù)庫詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Docker】Docker中安裝MySQL數(shù)據(jù)庫

    【Docker】Docker中安裝MySQL數(shù)據(jù)庫

    點擊跳轉(zhuǎn):Docker安裝MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常見服務(wù)全套(質(zhì)量有保證,內(nèi)容詳情) 雖然 docker 安裝 mysql 不是一個很好的方案,但是為了個人使用方便,使用 docker 安裝 mysql 還是沒什么問題的。 且安裝時把主機文件掛載到容器上,保證了 mysql 的持久化,對開

    2024年02月14日
    瀏覽(18)
  • docker中的mysql數(shù)據(jù)庫備份

    ???????? 1、查看容器 docker ps 2、進(jìn)入容器 docker exec -it 容器id /bin/bash 3、備份數(shù)據(jù) mysqldump 數(shù)據(jù)庫名稱 -uroot -p /root/**.sql 回車輸入數(shù)據(jù)庫密碼: 4、退出容器 exit 5、把容器中的文件拷貝出來 docker cp 容器id:/root/**.sql /root/ 例如: mysqldump test_db -uroot -p /root/test_db_0110.sql 常見錯

    2024年02月12日
    瀏覽(22)
  • Docker中安裝MySQL數(shù)據(jù)庫(實測)

    Docker中安裝MySQL數(shù)據(jù)庫(實測)

    本案例重點介紹docker安裝mysql過程,docker原理及基本案例不做闡述。 centos中安裝docker注意點:docker要求centos系統(tǒng)的內(nèi)核版本高于3.10 案例中使用centos7.x作為測試版本。 推薦使用官網(wǎng)搜索,因為信息閱讀更加的方便 官網(wǎng)地址:Docker 【官網(wǎng)地址如下】 【在搜索框中輸入mysql關(guān)鍵

    2024年02月10日
    瀏覽(17)
  • Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

    Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

    目錄 1.背景? ? ? ?? 2.設(shè)備及軟件版本 3.開始搭建(這里不介紹安裝docker及mysql) 3.1創(chuàng)建主數(shù)據(jù)庫容器(master) 3.2查看容器是否創(chuàng)建成功 3.3進(jìn)入修改容器下的/etc/my.cnf文件 3.3.1先拷貝my.cnf到容器外修改完再覆蓋容器原來的my.cnf文件 3.4重啟mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    瀏覽(30)
  • Mysql Docker 容器重啟后數(shù)據(jù)庫數(shù)據(jù)丟失分析

    項目復(fù)用nacos的mysql數(shù)據(jù)庫且msyql容器已存在,之前已新建好數(shù)據(jù)庫并插入數(shù)據(jù)。本次需要更新數(shù)據(jù)庫表結(jié)構(gòu)和數(shù)據(jù)。重啟myql導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)丟失。 另外,本次事故是昨天發(fā)生未及時記錄,日志不夠詳細(xì)。 本次需要更新數(shù)據(jù)庫表結(jié)構(gòu)和數(shù)據(jù),通過dbviewer操作失敗報 異常,部分

    2024年02月01日
    瀏覽(22)
  • 基于docker搭建MySql主從數(shù)據(jù)庫(詳細(xì)步驟)

    基于docker搭建MySql主從數(shù)據(jù)庫(詳細(xì)步驟)

    在 Linux 中建立對應(yīng)文件夾,用于存放MySql數(shù)據(jù)庫相關(guān),文件夾路徑: /usr/local/software/mysql 。 在mysql文件下創(chuàng)建如下目錄結(jié)構(gòu)的文件:(3306為主數(shù)據(jù)庫文件夾,筆者這里以對端口號來命名;3310為從數(shù)據(jù)庫文件夾,3311同理,可依次往下) 上傳 my.cnf 文件到 conf 文件夾下 以下是

    2024年02月09日
    瀏覽(34)
  • 導(dǎo)出docker MySQL中的數(shù)據(jù)庫寫一個shell 腳本

    安裝命令 mysqldump 編輯腳本內(nèi)容 export_mysql.sh 執(zhí)行以下命令給腳本添加執(zhí)行權(quán)限:

    2024年02月21日
    瀏覽(30)
  • docker安裝mysql、clickhouse、oracle等各種數(shù)據(jù)庫匯總

    docker安裝mysql、clickhouse、oracle等各種數(shù)據(jù)庫匯總

    1:docker 安裝mongo數(shù)據(jù)庫并使用 官網(wǎng):https://www.mongodb.com/docs/manual/ mongo shell教程1:http://c.biancheng.net/mongodb2/connection.html 安裝1 :https://www.zhihu.com/question/54602953/answer/3047452434?utm_id=0 安裝2:https://www.duidaima.com/Group/Topic/ArchitecturedDesign/9182 使用驅(qū)動進(jìn)行java開發(fā):https://mongodb.github.

    2024年02月10日
    瀏覽(23)
  • Docker Compose V2 安裝常用數(shù)據(jù)庫MySQL+Mongo

    Docker Compose V2 安裝常用數(shù)據(jù)庫MySQL+Mongo

    書接上篇:Docker V24 及 Docker Compose V2 的安裝及使用 本篇操作都在 centos8 虛擬機 devops01 中進(jìn)行,并都?xì)w屬網(wǎng)絡(luò):devopsnetwork 主要增加對容器中 數(shù)據(jù)文件,日志,配置,網(wǎng)絡(luò),時區(qū),端口映射,密碼 的配置,更貼合生產(chǎn)實際使用 目錄 /app/mysql 中創(chuàng)建 compose.yml 并運行 指定 mysql

    2024年02月08日
    瀏覽(50)
  • Docker容器MySQL數(shù)據(jù)庫的備份與還原,以及每天定時自動備份.

    Docker容器MySQL數(shù)據(jù)庫的備份與還原,以及每天定時自動備份.

    根據(jù)自己需要,我這個是Debian的5.7版本的鏡像。 這個地方一定要注意: 有些版本的docker鏡像里面移除了MySQL自帶的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你開啟了binlog,也是沒有辦法還原數(shù)據(jù)的,這里要注意一下鏡像的選擇。 mkdir三個文件夾,方便持久化。 /home/mysql/c

    2024年02月05日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包