環境
- CentOS 8
- Docker 20.10.7
- MySQL 8.0.16
安裝
拉取鏡像
默認拉取最新版本的鏡像
如果要指定版本,使用下面的命令
創建數據目錄和配置文件
在宿主機創建放置mysql的配置文件的目錄和數據目錄,並且進行授權
創建配置文件
在上面創建的配置文件目錄/usr/mysql/conf下創建MySQL的配置文件my.cnf
添加以下內容到上述創建的配置文件中
啟動創建容器
參數解釋:
-v : 掛載宿主機目錄和 docker容器中的目錄,前面是宿主機目錄,后面是容器內部目錄-d : 后台運行容器
-p 映射容器端口號和宿主機端口號
-e 環境參數,MYSQL_ROOT_PASSWORD設置root用戶的密碼
執行上述命令后,執行查詢容器的命令就可以看到創建的mysql容器
結果如下所示:
問題
上述雖然安裝好了mysql,但是使用遠程的Navicat連接時提示錯誤,不能正確連接mysql,此時需要修改按照下面說的步驟修改一下mysql的密碼模式以及主機等內容才可以。
修改mysql密碼以及可訪問主機
- 進入容器內部
- 連接mysql
- 使用mysql庫
- 修改訪問主機以及密碼等,設置為所有主機可訪問
注意:
mysql_native_password,mysql8.x版本必須使用這種模式,否則navicate無法正確連接
經過以上步驟,再次遠程使用Navicat連接數據庫時就可以正常連接了。