mysql8.0.13 的docker鏡像安裝


1、從docker中獲取mysql8.0.13鏡像

docker pull mysql:8.0.13
通過 docker images 命令查看鏡像是否獲取到了

2、運行 mysql8.0.13 鏡像

docker run --name mysql8013 -p 8323:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.13 
通過 docker ps 命令查看鏡像是否啟動成功

3、登陸mysql

mysql -uroot -proot -D mysql8013
發現登陸不上去,因為mysql8之后root用戶的密碼驗證方式變了。root的用戶的加密方式為caching_sha2_passoword,而navicat連接所用的方式為native_password。

4、解決方法:進入mysql8.0.13容器

docker exec -it mysql8013 /bin/bash

5、在容器里面登陸數據庫

mysql -uroot -proot

mysql為遠程連接和本地連接提供了不同的密碼驗證方式。所以在容器里可以登陸。

6、進入mysql庫,查看user表,可以看到root加密方式

use mysql;
select host, user, plugin from user \G

7、修改root用戶插件驗證方式:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

8、刷新權限

flush privileges;

9、然后退出mysql

exit;

10、給mysql8013安裝vim編輯器

apt-get update && apt-get install vim -y

11、安裝vim完成后,修改數據庫編碼

進入mysql.cnf
vim /etc/mysql/conf.d/mysql.cnf

增加以下內容,然后保存退出      
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

12、查看mysql編碼

 show variables like'character%';    -- 如果編碼沒變,可能要重啟這個mysql容器

13、退出 mysql8013容器

Ctrl+D

14、查看mysql8013數據卷掛載位置:

docker inspect  mysql8013
然后觀察  "Mounts"對應的值,其中 "Source" 對應的值就是本機的掛載路徑。

15、通過 navicat 測試連接。

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM