docker中使用Mysql8+phpmyadmin

如今基本裝這套都用docker了,有一些小坑在裏面,簡單說一下。php

運行mysql比較簡單,參考mysql⭐Docker Official Images,須要注意不要忘記暴露端口給phpmyadmin用。mysql

$ docker run --name <mysql容器名> -e MYSQL_ROOT_PASSWORD=<root用戶的密碼> -d -P mysql:tag

直接在run時設置好密碼,可是這時無法給phpmyadmin用的,必須改一下權限:sql

docker exec -it <mysql容器名> bash

進去後先登陸mysqldocker

mysql -p

輸入密碼以後就進入mysql控制檯了,用8.0以上的方法來改變root受權使其可跨域訪問:跨域

grant all privileges on *.* to 'root'@'%' with grant option;

若是還用原來5.7的那個方法會報錯,因此舊博客不能用了。bash

PS: docker版本的bind已是0.0.0.0了,若是是普通版本,默認是127.0.0.1,遠程訪問還須要修改/etc/mysql/mysql.conf.d/mysqld.cnf中的bind。code

而後修改文件中ip

以後就能夠愉快使用phpmyadmin了,官方提供的版本是phpmyadmin/phpmyadminci

運行的方法也給出了,除了HOST還要指定端口。get

docker run --name <phpmyadmin容器名> -d -e PMA_HOST=<mysql的host或ip> -e PMA_HOST=<剛纔的mysql的端口> -P phpmyadmin/phpmyadmin

以後就能夠根據暴露的端口訪問phpmyadmin服務了。

祝愉快。

相關文章
相關標籤/搜索