1.使用mysql/mysql-server:latest鏡像快速啟動一個Mysql實例
docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:latest

- ilink_user_01是容器名稱,通過--name指令指定
- 123456為數(shù)據(jù)庫root的密碼,通過-e指定環(huán)境MYSQL_ROOT_PASSWORD為123456,-e (指定容器內(nèi)的環(huán)境變量)
- -d 使用-d參數(shù),容器會進入到后臺,用戶無法看到容器中的信息,也無法進行操作
- 3307:3306 為端口映射,指定本地主機端口3307映射到容器的3306端口
2.進入實例修改mysql配置信息
docker exec -it ilink_user_01 bash

- exec 可以在容器內(nèi)部直接執(zhí)行人員命令
- 參數(shù) -it 用來保存表中輸入的打開,在不影響容器內(nèi)其他應(yīng)用的潛艇先,用戶可以很容易的與容器進行交互
3.查看MYSQL數(shù)據(jù)庫中所有用戶
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

4.修改mysql的root用戶允許從任何ip登錄用戶
update mysql.user set host='%' where user='root';
flush privileges;

5.使用navicat測試連接

出現(xiàn)authentication plugin 'caching_sha2_password',因為mysql鏡像是使用caching_sha2_password進行加密的,而navicat沒有支持caching_sha2_password加密方式,
6.解決authentication plugin 'caching_sha2_password'
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

7.重新使用navicat 連接

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。