Docker安裝MySQL并使用Navicat連接的操作方法
MySQL簡單介紹:
MySQL 是一個(gè)開放源碼的關(guān)系數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典 MySQL AB 公司。目前 MySQL 被廣泛地應(yīng)用在 Internet 上的大中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
查看可用的MySQL版本:
訪問DokcerHub中的MySQL鏡像庫地址:https://hub.docker.com/_/mysql/tags
可以通過 Sort by 查看其他版本的MySQL,查看最新版本MySQL鏡像(mysql:latest):https://hub.docker.com/_/mysql/tags?page=1&name=latest
此外,我們還可以用docker search mysql
命令來查看可用版本:
拉取最新版本的MySQL鏡像:
docker pull mysql:latest
注意:tag是可選的,tag表示標(biāo)簽,多為軟件的版本,默認(rèn)是latest版本(最新版)
驗(yàn)證MySQL鏡像是否成功拉取到本地:
使用以下命令來查看mysql鏡像是否成功拉取到本地:
docker images
創(chuàng)建并運(yùn)行一個(gè)MySQL容器:
docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql
參數(shù)說明:
- --name:指定了容器的名稱,方便之后進(jìn)入容器的命令行。
- -itd:其中,i是交互式操作,t是一個(gè)終端,d指的是在后臺(tái)運(yùn)行。
- -p:指在本地生成一個(gè)隨機(jī)端口,用來映射mysql的3306端口。
- -e:設(shè)置環(huán)境變量。
- MYSQL_ROOT_PASSWORD=root123456:指定了MySQL的root密碼
- -d mysql:指運(yùn)行mysql鏡像,設(shè)置容器在在后臺(tái)一直運(yùn)行。
驗(yàn)證MySQL容器是否創(chuàng)建并運(yùn)行成功:
docker ps
1、進(jìn)入MySQL容器:
docker exec -it mysql-test /bin/bash
2、進(jìn)入MySQL:
mysql -uroot -p Enter password:root123456
MySQL開啟遠(yuǎn)程訪問權(quán)限:
1、切換數(shù)據(jù)庫
注意:默認(rèn)應(yīng)該就是這個(gè),不切換也行,保險(xiǎn)起見還是切換一下
use mysql;
2、給root用戶分配遠(yuǎn)程訪問權(quán)限
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
參數(shù)說明:
- GRANT:賦權(quán)命令
- ALL PRIVILEGES:當(dāng)前用戶的所有權(quán)限
- ON:介詞
- *.*:當(dāng)前用戶對(duì)所有數(shù)據(jù)庫和表的相應(yīng)操作權(quán)限
- TO:介詞
- ‘root’@’%’:權(quán)限賦給root用戶,所有ip都能連接
- WITH GRANT OPTION:允許級(jí)聯(lián)賦權(quán)
3、強(qiáng)制刷新權(quán)限
FLUSH PRIVILEGES;
服務(wù)器配置3306的開放端口:
Navicat 連接 MySQL8 報(bào)錯(cuò):2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;
錯(cuò)誤問題原因:
這是因?yàn)镸ySQL8之前密碼加密規(guī)則為mysql_native_password,而 MySQL8 之后的加密規(guī)則為caching_sha2_password,也就是說,如果要用Navicat連接MySQL,其實(shí)只需要將密碼規(guī)則改回 mysql_native_password 即可;
解決方法:
1.進(jìn)入MySQL數(shù)據(jù)庫
docker exec -it mysql-test /bin/bash mysql -uroot -p Enter password:root123456
2.選擇數(shù)據(jù)庫
use mysql;
3.更改密碼加密方式
IDENTIFIED BY ‘root123456':連接時(shí)輸入密碼,密碼為root123456
ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER;
4.更新用戶密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
5.刷新權(quán)限
FLUSH PRIVILEGES;
Navicat連接MySQL測試:
到此這篇關(guān)于Docker安裝MySQL并使用Navicat連接的文章就介紹到這了,更多相關(guān)Docker安裝MySQL使用Navicat連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 一文學(xué)會(huì)docker?安裝mysql的方法
- 詳解docker?制作mysql鏡像并自動(dòng)安裝腳本
- Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn)
- Docker安裝mysql超詳細(xì)步驟記錄
- Docker安裝部署Mysql8的過程(以作數(shù)據(jù)持久化)
- Docker安裝并使用Mysql的詳細(xì)教程(實(shí)測可用!)
- docker安裝mysql完美教程(建議收藏!)
- docker安裝mysql、redis鏡像方式
- docker?容器中安裝mysql服務(wù)的方法
- 使用Docker安裝和配置 MySQL 數(shù)據(jù)庫的過程詳解
- Docker安裝MySql遇到的問題解決
相關(guān)文章
Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法
這篇文章主要介紹了Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾
要從Docker容器中復(fù)制文件,可以使用docker?cp命令,下面這篇文章主要給大家介紹了關(guān)于Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07docker搭建minio服務(wù)器,解決內(nèi)網(wǎng)穿透后外網(wǎng)無法訪問
這篇文章主要介紹了docker搭建minio服務(wù)器,解決內(nèi)網(wǎng)穿透后外網(wǎng)無法訪問的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09