Docker安裝MySQL并使用Navicat連接的操作方法
MySQL簡單介紹:
MySQL 是一個開放源碼的關(guān)系數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典 MySQL AB 公司。目前 MySQL 被廣泛地應(yīng)用在 Internet 上的大中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(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表示標簽,多為軟件的版本,默認是latest版本(最新版)

驗證MySQL鏡像是否成功拉取到本地:
使用以下命令來查看mysql鏡像是否成功拉取到本地:
docker images

創(chuàng)建并運行一個MySQL容器:
docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql
參數(shù)說明:
- --name:指定了容器的名稱,方便之后進入容器的命令行。
- -itd:其中,i是交互式操作,t是一個終端,d指的是在后臺運行。
- -p:指在本地生成一個隨機端口,用來映射mysql的3306端口。
- -e:設(shè)置環(huán)境變量。
- MYSQL_ROOT_PASSWORD=root123456:指定了MySQL的root密碼
- -d mysql:指運行mysql鏡像,設(shè)置容器在在后臺一直運行。

驗證MySQL容器是否創(chuàng)建并運行成功:
docker ps

1、進入MySQL容器:
docker exec -it mysql-test /bin/bash

2、進入MySQL:
mysql -uroot -p Enter password:root123456

MySQL開啟遠程訪問權(quán)限:
1、切換數(shù)據(jù)庫
注意:默認應(yīng)該就是這個,不切換也行,保險起見還是切換一下
use mysql;
2、給root用戶分配遠程訪問權(quán)限
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
參數(shù)說明:
- GRANT:賦權(quán)命令
- ALL PRIVILEGES:當前用戶的所有權(quán)限
- ON:介詞
- *.*:當前用戶對所有數(shù)據(jù)庫和表的相應(yīng)操作權(quán)限
- TO:介詞
- ‘root’@’%’:權(quán)限賦給root用戶,所有ip都能連接
- WITH GRANT OPTION:允許級聯(lián)賦權(quán)
3、強制刷新權(quán)限
FLUSH PRIVILEGES;

服務(wù)器配置3306的開放端口:

Navicat 連接 MySQL8 報錯:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;

錯誤問題原因:
這是因為MySQL8之前密碼加密規(guī)則為mysql_native_password,而 MySQL8 之后的加密規(guī)則為caching_sha2_password,也就是說,如果要用Navicat連接MySQL,其實只需要將密碼規(guī)則改回 mysql_native_password 即可;
解決方法:
1.進入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':連接時輸入密碼,密碼為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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫
這篇文章介紹了Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法
今天給大家分享Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法,利用docker模擬mysql設(shè)置的主從同步,通過兩種方式給大家介紹的非常詳細,需要的朋友參考下吧2021-06-06
Centos7下安裝與卸載docker應(yīng)用容器引擎的方法
這篇文章主要介紹了Centos7下安裝與卸載docker應(yīng)用容器引擎的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問題
這篇文章主要介紹了Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

