- 下載mysql鏡像
$ docker search mysql (搜索mysql鏡像)
$ docker pull mysql (下載mysql鏡像间校,默認(rèn)最新版本)
2.運(yùn)行鏡像
$ docker run -it --name mysql8 -p 3307:3306 -v /Users/qian/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
/*
參數(shù)說明
-p 3307:3306:將容器的3306端口映射到主機(jī)的3307端口
-v /Users/qian/docker/mysql/data:/var/lib/mysql:將主機(jī)目錄/Users/qian/docker/mysql/data掛載到容器的目錄/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456: 初始化root用戶的密碼
-it:運(yùn)行交互式的容器蟆盹,讓docker運(yùn)行的容器實(shí)現(xiàn)"對話"的能力
-d:后臺運(yùn)行容器树叽,并返回容器ID
-name:命名容器
*/
這時(shí)候用navicat測試登陸報(bào)錯(cuò):2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found
原因是mysql8.0改變了身份驗(yàn)證插件
3.查看已運(yùn)行的容器
$ docker ps -a
4.進(jìn)入mysql8容器
$ docker exec -it mysql8 bash
5.在容器內(nèi)登陸mysql
root@74a6c7997285:/# mysql -uroot -p
6.查看root等用戶信息
mysql> select user,host,authentication_string from mysql.user;
7.為root分配權(quán)限,以便可以遠(yuǎn)程連接
mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
8.更新密碼算法
mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> FLUSH PRIVILEGES;
-
連接navicat乔夯,新建庫laswoole,在/Users/qian/docker/mysql/data中查看掛載成功
下載adminer鏡像
$ docker pull adminer
- 運(yùn)行adminer鏡像
$ docker run --link mysql8:db -p 8080:8080 --name adminer -d adminer
-
瀏覽器訪問 localhost:8080