Docker安裝MySQL8的方法步驟
一、下載鏡像
docker Hub官網(wǎng)URL:https://hub.docker.com/_/mysql/
下載最新版本:docker pull mysql
下載指定版本:docker pull mysql:verison(8.0.11,8.0,8)
二、啟動鏡像
沒有/data/datadir路徑或/etc/mysql/my.cnf配置文件,可以使用默認(rèn),不需掛載
三、用戶授權(quán)
1、登錄已啟動的MySQL容器
docker exec -it mysql /bin/sh
2、使用啟動命令中-e MYSQL_ROOT_PASSWORD設(shè)置的密碼,登錄MySQL
mysql -uroot -p
3、執(zhí)行授權(quán)命令,此處已root用戶為例
create user root@'192.168.0.2' identified by '123456'; grant all privileges on databas_name.* to root@'192.168.0.2'; ALTER USER 'root'@'192.168.0.2' IDENTIFIED WITH mysql_native_password BY '123456';
4、登錄MySQL
mysql -h 192.168.0.2 -u root -p
四、啟動命令中的環(huán)境變量
在啟動mysql映像時,您可以通過在docker run命令行上傳遞一個或多個環(huán)境變量來調(diào)整MySQL實例的配置。請注意,如果您使用已包含數(shù)據(jù)庫的數(shù)據(jù)目錄啟動容器,則下面的任何變量都不會產(chǎn)生任何影響:任何預(yù)先存在的數(shù)據(jù)庫在容器啟動時始終保持不變。
另請參閱https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html以了解MySQL本身遵守的環(huán)境變量的文檔(特別是像這樣的變量MYSQL_HOST,這些變量在與此映像一起使用時會導(dǎo)致出現(xiàn)問題)。
MYSQL_ROOT_PASSWORD
該變量是強(qiáng)制性的,并指定將為MySQL root超級用戶帳戶設(shè)置的密碼。在上面的例子中,它被設(shè)置為my-secret-pw。
MYSQL_DATABASE
此變量是可選的,并允許您指定要在映像啟動時創(chuàng)建的數(shù)據(jù)庫的名稱。如果提供了用戶/密碼(見下文),那么該用戶將被授予對該數(shù)據(jù)庫的超級用戶訪問(對應(yīng)于GRANT ALL)。
MYSQL_USER, MYSQL_PASSWORD
這些變量是可選的,可用于創(chuàng)建新用戶并設(shè)置該用戶的密碼。該用戶將被授予超級用戶權(quán)限(見上文),該權(quán)限由MYSQL_DATABASE變量指定。這兩個變量都是創(chuàng)建用戶所必需的。
請注意,不需要使用此機(jī)制來創(chuàng)建超級用戶的root用戶,該用戶默認(rèn)情況下會使用MYSQL_ROOT_PASSWORD變量指定的密碼創(chuàng)建。
MYSQL_ALLOW_EMPTY_PASSWORD
這是一個可選變量。設(shè)置為yes允許容器以root用戶的空密碼啟動。注意:yes除非您真的知道您在做什么,否則不要將此變量設(shè)置為“不推薦”,因為這將使您的MySQL實例完全不受保護(hù),從而允許任何人獲得完整的超級用戶訪問權(quán)限。
MYSQL_RANDOM_ROOT_PASSWORD
這是一個可選變量。設(shè)置yes為為root用戶(使用pwgen)生成隨機(jī)初始密碼。生成的root密碼將打印到stdout(GENERATED ROOT PASSWORD: .....)。
MYSQL_ONETIME_PASSWORD
一旦初始化完成,將root用戶(不是用戶指定的用戶MYSQL_USER)設(shè)置為已過期,強(qiáng)制首次登錄時更改密碼。注:該功能僅在MySQL 5.6+上受支持。在MySQL 5.5上使用此選項將在初始化期間引發(fā)相應(yīng)的錯誤。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Docker中關(guān)于Namespace隔離機(jī)制全面解析
為了更好地理解容器的運(yùn)行原理,本篇文章將會以?Linux?宿主機(jī)為例,介紹容器的底層技術(shù),包括容器的命名空間、控制組、聯(lián)合文件系統(tǒng)等,需要的朋友可以參考下2022-06-06Linux下docker安裝mysql8并配置遠(yuǎn)程連接
本文主要介紹了Linux下docker安裝mysql8并配置遠(yuǎn)程連接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Docker啟動容器報錯:Ports are not available的解決方案
這篇文章主要介紹了Docker啟動容器報錯:Ports are not available的解決方案,Docker 將容器程序的端口號映射到宿主機(jī)的端口號,是一個 NAT 過程,這個過程可能會因為與 Windows NAT 服務(wù)沖突而失效,文中有詳細(xì)的解決方案,需要的朋友可以參考下2024-03-03docker 安裝nacos并配置數(shù)據(jù)庫的教程詳解
這篇文章主要介紹了docker 安裝nacos并配置數(shù)據(jù)庫的教程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12解決docker pull被復(fù)位出現(xiàn)的問題
這篇文章主要介紹了解決docker pull被復(fù)位出現(xiàn)的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09在wsl-ubuntu中如何通過 docker 啟動 gpu-jupyter
這篇文章主要介紹了在wsl-ubuntu中如何通過 docker 啟動 gpu-jupyter,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01Docker下利用jenkins和docker實現(xiàn)持續(xù)交付
這篇文章主要介紹了利用jenkins和docker實現(xiàn)持續(xù)交付功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05docker部署Macvlan實現(xiàn)跨主機(jī)網(wǎng)絡(luò)通信的實現(xiàn)
這篇文章主要介紹了docker部署Macvlan實現(xiàn)跨主機(jī)網(wǎng)絡(luò)通信的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10