目錄
- 環(huán)境
- 需求
- 步驟
- 1、從docker倉庫中拉去mysql 8.0
- 2、查看是否拉取成功
- 3、安裝運行mysql8.0容器
- 4、查看mysql 8.0 容器是否運行
- 5、docker登錄mysql 8.0
- 6、使用圖形化界面連接docker中的MySQL 8.0
- 解決方案
- 步驟
- 總結(jié)
環(huán)境
CentOS 7、MySQL 8、SQLyog 12
需求
在Docker中部署MySQL 8
步驟
1、從docker倉庫中拉去mysql 8.0
docker pull mysql:8.0
如果使用 docker pull mysql 默認拉取的是最新版本的mysql
上面我拉去的是8.0的版本,最后拉取過來的是8.0.27
如果有想要指定的版本,可以直接寫指定版本,如:
docker pull mysql:8.0.23
2、查看是否拉取成功
docker images mysql:8.0
3、安裝運行mysql8.0容器
docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
-p 將本地主機的端口映射到docker容器端口
本機的3306端口已被宿主機的mysql占用,所以使用3307。
也可以使用3306,就不可以和宿主機的mysql同時啟動了。
這里使用什么端口映射可以自己決定,但是不要和我們使用的其他端口重復。
–name 容器名稱
-e 配置信息,配置root密碼,等號后面跟的是密碼,可以自己設置自己想要的密碼
-d 鏡像名稱
4、查看mysql 8.0 容器是否運行
docker ps
5、docker登錄mysql 8.0
docker exec -it mysql8.0 bash
mysql -uroot -p回車,輸入密碼,在回車
6、使用圖形化界面連接docker中的MySQL 8.0
點擊連接之后,發(fā)現(xiàn)會報錯:
報錯:不支持caching_sha_password加密方式
原因:mysql8.0使用新的密碼加密方式:caching_sha_password
解決方案
修改成舊的加密方式(mysql_native_password),并重置密碼
步驟
show databases;
use mysql;
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by '123456'; 分號前面單引號里面的內(nèi)容就是新密碼,可以設置自己想要的密碼,也可以與原密碼一樣。 我的就用123456了,因為我的5.7的mysql也是123456,方便記憶
然后再重新連接,版本是