最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的詳細(xì)教程

 更新時間:2024年05月16日 10:08:48   作者:北冥牧之  
Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,下面這篇文章主要給大家介紹了關(guān)于Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

雖然 docker 安裝 mysql 不是一個很好的方案,但是為了個人使用方便,使用 docker 安裝 mysql 還是沒什么問題的。

本文為了方便,我們直接通過yum方式安裝。所以,我們在安裝之前需要電腦可以聯(lián)網(wǎng),不然我們這種方式是安裝不了的。

當(dāng)然,你也可以自行下載mysql鏡像,然后再通過 docker 安裝,不過這不在本文的討論范圍。

一、拉取鏡像

# 拉取鏡像
docker pull mysql

# 或者
docker pull mysql:latest

# 以上兩個命令是一致的,默認(rèn)拉取的就是 latest 版本的

# 我們還可以用下面的命令來查看可用版本:
docker search mysql

二、查看鏡像

使用以下命令來查看是否已安裝了 mysql鏡像

docker images

三、運行鏡像

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

命令解決:

 -p 3306:3306:指定宿主機端口與容器端口映射關(guān)系

--name mysql:創(chuàng)建的容器名稱

--restart=always:總是跟隨docker啟動

--privileged=true:獲取宿主機root權(quán)限
-v /usr/local/mysql/log:/var/log/mysql:映射日志目錄,宿主機:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射數(shù)據(jù)目錄,宿主機:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目錄,宿主機:容器
-v /etc/localtime:/etc/localtime:ro:讓容器的時鐘與宿主機時鐘同步,避免時區(qū)的問題,ro是read only的意思,就是只讀。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql環(huán)境變量,root用戶的密碼為123456

-d mysql:latest:后臺運行mysql容器,版本是latest。

或者使用下面的命令:

docker run --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf.d:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest

四、查看正在運行的容器

# 查看正在運行的容器
docker ps
# 查看所有的docker容器
docker ps -a

這個時候如果顯示的是up狀態(tài),那就是啟動成功了。如果是restarting,說明是有問題的。我們可以查看日志:

docker logs -f mysql

 可能會發(fā)現(xiàn):

Failed to access directory for --secure-file-priv. Please make sure that dir

 此時如果我們執(zhí)行第五步也會報錯:

Error response from daemon: Container xxx is restarting, wait until the cont。。。

此時我們需要執(zhí)行第六步。 

五、查看容器內(nèi)部

docker exec -it mysql /bin/bash

六、修改mysql配置

 創(chuàng)建mysql配置文件:my.cnf

cd /usr/local/mysql

ll

cd conf

vi my.cnf

在 my.cnf 文件中 寫入如下內(nèi)容:

[client]

default-character-set=utf8mb4

[mysql]

default-character-set=utf8mb4

[mysqld]

# 設(shè)置東八區(qū)時區(qū)
default-time_zone = '+8:00'

# 設(shè)置密碼驗證規(guī)則,default_authentication_plugin參數(shù)已被廢棄

# 改為authentication_policy

#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password

# 限制導(dǎo)入和導(dǎo)出的數(shù)據(jù)目錄
# 為空,不限制導(dǎo)入到處的數(shù)據(jù)目錄;
# 指定目錄,必須從該目錄導(dǎo)入到處,且MySQL不會自動創(chuàng)建該目錄;
# 為NULL,禁止導(dǎo)入與導(dǎo)出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=

init_connect='SET collation_connection = utf8mb4_0900_ai_ci'

init_connect='SET NAMES utf8mb4'

character-set-server=utf8mb4

collation-server=utf8mb4_0900_ai_ci

skip-character-set-client-handshake

skip-name-resolve

默認(rèn)的鑒權(quán)方式,我們修改為mysql_native_password,不然的話連接會報錯。因為在mysql8以后的默認(rèn)加密方式改變了,由 mysql_native_password 改為了caching_sha2_password。這種加密凡是在客戶端無法訪問,客戶端支持的是mysql_native_password 。我們先進(jìn)行第七步。

七、重啟mysql服務(wù),使其配置生效

docker restart mysql

八、設(shè)置docker啟動時啟動mysql

docker update mysql --restart=always

九、重啟mysql

docker restart mysql

十、授權(quán)遠(yuǎn)程訪問

不進(jìn)行授權(quán)直接登陸的話會報錯的,如圖:

錯誤內(nèi)容:

Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
  Connection refused: connect
  Connection refused: connect

10.1 進(jìn)入容器內(nèi)部

docker exec -it mysql /bin/bash

10.2 登陸mysql

mysql -u root -p

 此時我們使用mysql客戶端連接服務(wù)器是失敗的,因為默認(rèn)的root不具有遠(yuǎn)程連接的權(quán)限。

 上面的密碼不要輸入,直接回車進(jìn)入。

10.3 選擇數(shù)據(jù)庫

show databases;
use mysql;

不要忘記最后的分號。

10.4 查看用戶連接情況

select host, user, plugin,  authentication_string, password_expired from user;

我們看到root用戶只有l(wèi)ocalhost的連接權(quán)限。

10.5 修改密碼認(rèn)證方式

ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';

ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

-- 刷新權(quán)限
FLUSH PRIVILEGES;

10.6 退出容器

exit

先輸入exit退出mysql,再輸入exit退出容器。

此時,我們通過客戶端工具就可以連接mysql了。

總結(jié)

到此這篇關(guān)于Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的文章就介紹到這了,更多相關(guān)Docker安裝MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Docker如何在前端項目動態(tài)插入并使用變量

    詳解Docker如何在前端項目動態(tài)插入并使用變量

    這篇文章主要為大家詳細(xì)介紹如何在Docker前端鏡像中設(shè)置變量以及使用變量的方法,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • docker實現(xiàn)搭建emqx服務(wù)

    docker實現(xiàn)搭建emqx服務(wù)

    這篇文章主要介紹了docker實現(xiàn)搭建emqx服務(wù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Docker搭建服務(wù)器監(jiān)控面板的實現(xiàn)示例

    Docker搭建服務(wù)器監(jiān)控面板的實現(xiàn)示例

    Docker服務(wù)器監(jiān)控面板是一種用于監(jiān)控容器運行情況的工具,本文主要介紹了Docker搭建服務(wù)器監(jiān)控面板的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • idea?連接遠(yuǎn)程?docker?并部署項目到?docker的過程

    idea?連接遠(yuǎn)程?docker?并部署項目到?docker的過程

    這篇文章主要介紹了idea連接遠(yuǎn)程docker并部署項目到docker,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • Docker 提交倉庫的方法

    Docker 提交倉庫的方法

    這篇文章主要介紹了Docker 提交倉庫的方法,把我們東西上傳DockerHub,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker安裝MongoDB的過程(mongo.latest)

    Docker安裝MongoDB的過程(mongo.latest)

    MongoDB是一種高性能、靈活的數(shù)據(jù)庫,特別適合處理大量非結(jié)構(gòu)化數(shù)據(jù),它采用文檔數(shù)據(jù)模型,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),提供類似面向?qū)ο蟮牟樵冋Z言,本文給大家介紹Docker安裝MongoDB的過程(mongo.latest),感興趣的朋友一起看看吧
    2024-11-11
  • Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)的操作方法

    Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)的操作方法

    這篇文章主要介紹了Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • Docker安裝mysql主從復(fù)制的實現(xiàn)步驟

    Docker安裝mysql主從復(fù)制的實現(xiàn)步驟

    MySQL主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點復(fù)制到一個或多個從節(jié)點,本文主要介紹了Docker安裝mysql主從復(fù)制的實現(xiàn)步驟,感興趣的可以了解一下
    2024-03-03
  • 打包docker鏡像推送到遠(yuǎn)程服務(wù)器并部署到k8s的方法步驟

    打包docker鏡像推送到遠(yuǎn)程服務(wù)器并部署到k8s的方法步驟

    本文主要介紹了打包docker鏡像推送到遠(yuǎn)程服務(wù)器并部署到k8s的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Docker?compose一鍵安裝mirai搭建QQ機器人最快操作方法

    Docker?compose一鍵安裝mirai搭建QQ機器人最快操作方法

    這篇文章主要介紹了Docker?compose一鍵安裝mirai,搭建QQ機器人最快方法,詳細(xì)介紹了mirai基本操作,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04

最新評論

南城县| 永州市| 乐都县| 灵武市| 资阳市| 高要市| 榆中县| 兰西县| 广平县| 民和| 东城区| 文安县| 武义县| 扎兰屯市| 宜兴市| 资源县| 眉山市| 贵港市| 汝城县| 鹿邑县| 鸡泽县| 永寿县| 乐至县| 大庆市| 阳西县| 景宁| 阿克陶县| 陈巴尔虎旗| 昆明市| 集贤县| 原阳县| 望奎县| 应城市| 江安县| 曲阜市| 偃师市| 汝南县| 平塘县| 永仁县| 七台河市| 株洲市|