docker pull mysql:8.0.18
docker images
docker run -itd --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.18
docker ps是否安裝成功;
進入容器 docker exec -it 容器id bash
進入數據庫 mysql -uroot -p123456
use mysql;
select host,user from user; 讓root能遠程連接,host修改為"%"


修改host為%的方法 update user set host='%' where user='root';
navicate for mysql 遠程連接
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
此時使用navicat for mysql 遠程連接,提示認證問題,因為mysql8及之后的加密規則與之前版本的不同,
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES; #刷新權限;
這樣navicat for mysql就可以連接數據庫了;
docker commit 容器id 指定要創建的鏡像名:版本號
備注:ip:3306始終訪問不了,無解ing;
