docker 容器 mysql5.7 忘記root密碼 重置密碼

我建立了個 mysql5.7 版本的 dokcer 容器取名 mysql ,可是我忘記了密碼。mysql

# 進入容器
docker exec -it mysql bash
# 設置跳過權限表的加載 
# 警告:這就意味着任何用戶都能登陸進來,並進行任何操做,至關不安全。
echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf
# 退出容器
exit
# 重啓容器
docker restart mysql
# 再次進入容器
docker exec -it mysql bash
# 登陸 mysql(無需密碼)
mysql -uroot 
# 更新權限
flush privileges;
# 修改密碼
alter user 'root'@'localhost' identified by '123456';
# 退出mysql
exit
# 替換掉剛纔加的跳過權限表的加載參數
sed -i "s/skip-grant-tables/ /" /etc/mysql/conf.d/docker.cnf
# 退出容器
exit
# 重啓容器
docker restart mysql

完成,如今能夠用 root 和剛纔設置的密碼 登陸sql

執行過程當中出錯了docker

mysql> alter user 'root'@'%' identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

這個時候咱們只須要 mysql> flush privileges ;安全

相關文章
相關標籤/搜索