拉取鏡像
查看拉取完成的鏡像
通過(guò)鏡像創(chuàng)建并啟動(dòng)一個(gè)MySQL容器
docker run --name mysql_dev -e MYSQL_ROOT_PASSWORD=123456 -p 3333:3306 -d mysql
–name:給新創(chuàng)建的容器命名,此處命名為 mysql_dev
-e:配置信息,此處配置mysql的root用戶的登陸密碼
-p:端口映射,此處映射主機(jī)3333端口到容器mysql_dev的3306端口
-d:成功啟動(dòng)容器后輸出容器的完整ID\最后一個(gè)mysql指的是mysql鏡像名字
此時(shí),用navicat for mysql連接mysql發(fā)現(xiàn)報(bào)錯(cuò):
Client does not support authentication protocol requested by server。。。
解決再最下面 ^ _ ^
查看安裝的所有容器
查看啟動(dòng)中的容器
暫停/啟動(dòng)容器中的服務(wù)
docker stop mysql_dev
docker start mysql_dev
進(jìn)入容器
docker exec -it mysql_dev bash
查看容器中服務(wù)的IP
docker exec -it mysql_dev cat /etc/hosts
新版 MySQL 授權(quán)用戶時(shí)報(bào)錯(cuò) near 'IDENTIFIED BY '密碼' with grant option' at line 1
1 問(wèn)題:
當(dāng)使用 grant 權(quán)限列表 on 數(shù)據(jù)庫(kù) to '用戶名'@'訪問(wèn)主機(jī)' identified by '密碼'; 時(shí)會(huì)出現(xiàn)"......near 'identified by '密碼'' at line 1"這個(gè)錯(cuò)誤
2 原因:
因?yàn)樾掳娴牡膍ysql版本已經(jīng)將創(chuàng)建賬戶和賦予權(quán)限的方式分開(kāi)了
3 解決辦法:
創(chuàng)建賬戶:create user '用戶名'@'訪問(wèn)主機(jī)' identified by '密碼';
賦予權(quán)限:grant 權(quán)限列表 on 數(shù)據(jù)庫(kù) to '用戶名'@'訪問(wèn)主機(jī)' ;(修改權(quán)限時(shí)在后面加with grant option)
4 具體操作:
# 添加用戶
CREATE USER 'mysql_dev' IDENTIFIED BY '123456';
# 賦予權(quán)限
GRANT ALL PRIVILEGES ON *.* TO 'mysql_dev'@'%';
# 修改加密規(guī)則
ALTER USER 'mysql_dev'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
# 更新一下用戶的密碼
ALTER USER 'mysql_dev'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 更新配置信息
FLUSH PRIVILEGES;
以上就是Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程的詳細(xì)內(nèi)容,更多關(guān)于Docker 安裝 MySQL并遠(yuǎn)程連接的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!