第一步:拉取鏡像 我拉取的是最后版本
第二步:使用命令
docker run --name mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
主要命令是 -e MYSQL_ROOT_PASSWORD=123456 這個意思是把mysql密碼設置為123456
第三部:
docker exec -it mysql /bin/sh
進入容器內 然后執行 mysql -uroot -p123456
第四部:
使用命令 use mysql;
然后 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
之前在網上搜索了很多,發現沒用,這個鏡像里面 root用戶已經有遠程連接權限在里面,所以不需要去設置,只模式不一樣才導致無法連接。
這條命令意思是 把root用戶的密碼改成 mysql_native_password 模式 原因是我用的是
所以要更改那個密碼模式,到此就可以連接了,
mysql8 sql_mode=only_full_group_by問題解決
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
執行這兩條命令,然后重新連接就可以了。