現在基本裝這套都用docker了,有一些小坑在里面,簡單說一下。
運行mysql比較簡單,參考mysql⭐Docker Official Images,需要注意不要忘記暴露端口給phpmyadmin用。
$ docker run --name <mysql容器名> -e MYSQL_ROOT_PASSWORD=<root用戶的密碼> -d -P mysql:tag
直接在run時設置好密碼,但是這時沒法給phpmyadmin用的,必須改一下權限:
docker exec -it <mysql容器名> bash
進去后先登錄mysql
mysql -p
輸入密碼之后就進入mysql控制台了,用8.0以上的方法來改變root授權使其可跨域訪問:
grant all privileges on *.* to 'root'@'%' with grant option;
2020/1/8更新,上述跨域方法已不能用
目前grant是不能夠修改用戶的配置信息的,包括host等,僅能通過
grant all on *.* to 'root'@'localhost';
來修改權限。所以目前的方案,如果想遠程,有下面兩種:修改root賬戶或者創建新用戶
-- 1. 使用alter user
alter user set user.host='%' where user.user='root';
-- 2. 使用create user
create user 'userName'@'%' identified by 'your_password';
PS: docker版本的bind已經是0.0.0.0了,如果是普通版本,默認是127.0.0.1,遠程訪問還需要修改/etc/mysql/mysql.conf.d/mysqld.cnf中的bind。
然后修改文件中
之后就可以愉快使用phpmyadmin了,官方提供的版本是phpmyadmin/phpmyadmin。
運行的方法也給出了,除了HOST還要指定端口。
docker run --name <phpmyadmin容器名> -d -e PMA_HOST=<mysql的host或ip> -e PMA_HOST=<剛才的mysql的端口> -P phpmyadmin/phpmyadmin
之后就可以根據暴露的端口訪問phpmyadmin服務了。
祝愉快。