小編給大家分享一下Docker如何安裝MySQL,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出彝良免費做網(wǎng)站回饋大家。
安裝 MySQL
拉取鏡像
使用下面的命令拉取 MySQL 數(shù)據(jù)庫的鏡像:
$ sudo docker pull mysql # 拉取最新版本的鏡像,當(dāng)前為 MySQL 8 版本,tag 為 latest $ sudo docker pull mysql:5.7 # 指定拉取 MySQL 5.7 版本
也可以使用搜索命令,查找其他的 MySQL 相關(guān)鏡像,其中有標(biāo)識 Stars 數(shù),即受歡迎程度。
$ sudo docker search mysql
運行 MySQL
$ sudo docker run -p 3306:3306 \ --name mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=your-password \ -d mysql
命令說明:
-p 3306:3306 :將容器的 3306 端口映射到主機的 3306 端口。
-v $PWD/conf:/etc/mysql/conf.d :將主機當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs :將主機當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。
-v $PWD/data:/var/lib/mysql :將主機當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=your-password :初始化 root 用戶的密碼,建議使用復(fù)雜度高的密碼。
-d mysql : 要部署的鏡像名,如果是5.7版本的話,這里則為mysql:5.7
配置遠程訪問
遠程訪問 MySQL 屬于基本配置,但是在配置的時候要注意安全性問題,否則將存在安全性隱患,尤其是企業(yè)用服務(wù)器更要注重安全性。
并且需要注意服務(wù)器防火墻要開啟 3306 端口,服務(wù)器提供商的安全組中也需要開啟,否則會無法訪問哦。
要配置遠程訪問,先要打開 MySQL 的控制終端,使用下面的命令開啟:
$ sudo docker exec -it mysql bash # 進入 MySQL 容器 $ mysql -uroot -p # 登錄 MySQL,執(zhí)行后輸入密碼進入 MySQL $ use mysql; # 選擇使用 mysql 數(shù)據(jù)庫
MySQL 8 配置
CREATE USER 'username'@'%' IDENTIFIED BY 'password'; # 創(chuàng)建一個賬號,用來進行遠程訪問; # {usernama} 是遠程訪問登錄的用戶名,不建議用 root; # {password} 是遠程訪問的登錄密碼; # '%'代表的是所有IP,如果可以盡量設(shè)置指定 IP 或 IP 段 GRANT ALL ON *.* TO 'username'@'%'; # 賦予所有權(quán)限給之前創(chuàng)建的賬號 ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; # 確認使用這里的密碼登錄此賬號 FLUSH PRIVILEGES; # 刷新權(quán)限
完整命令如下所示:
CREATE USER 'james'@'%' IDENTIFIED BY '123456asd'; # 創(chuàng)建一個賬號-james,用來進行遠程訪問; GRANT ALL ON *.* TO 'james'@'%'; # 賦予所有權(quán)限給之前創(chuàng)建的賬號:james ALTER USER 'james'@'%' IDENTIFIED WITH mysql_native_password BY '123456asd'; # 確認使用密碼{123456asd}登錄此賬號{james} # 密碼盡量復(fù)雜,安全性更高。 FLUSH PRIVILEGES; # 刷新權(quán)限
配置完畢后,使用 Navicat 工具或其他工具進行連接測試即可。
MySQL 5.7 配置
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; # {usernama} 是遠程訪問登錄的用戶名,不建議用 root; # {password} 是遠程訪問的登錄密碼; # '%'代表的是所有IP,如果可以盡量設(shè)置指定 IP 或 IP 段 FLUSH PRIVILEGES; # 刷新權(quán)限
配置完畢后,使用 Navicat 工具或其他工具進行連接測試即可。
注:如果無法訪問請注意防火墻 3306 端口是否開啟,服務(wù)器提供商的安全組中的端口是否開啟。
以上是“Docker如何安裝MySQL”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!