其實呢...並沒有那麼複雜
第一步:docker run -d -p 3306:3306 --name 自己起的容器名字 --restart always(總是啓動,可選)-e MYSQL_ROOT_PASWORD=你的初始密碼 鏡像id
第二步:docker exec -it 容器id /bin/bash進入容器,查看mysql授權情況:
select User,authentication_string,Host from user;查看root用戶對應host是否爲%,允許遠程連接
第三步:如果不是的話,則授權:
1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
這裏的123456爲你給新增權限用戶設置的密碼,%代表所有主機,也可以具體到你的主機ip地址
2.flush privileges; 這一步一定要做,不然無法成功! 這句表示從mysql數據庫的grant表中重新加載權限數據 因爲MySQL把權限都放在了cache中,所以在做完更改後需要重新加載。
mysql8.X授權命令變化:GRANT ALL ON *.* TO 'root'@'%'; ps:這裏是個坑,8.x變化蠻多的,其他新特性請自行查資料