docker部署的mariadb忘记密码

docker 里的 mariadb 数据库密码忘了,如果以前我会选择直接干掉重装,但是数据怎么办?

1 数据量小 就跳过密码登录进去备份出来
2 想办法改掉密码

我直接选择后者,跳过密码,mariadb10.4以后不能直接改密码了,

尝试了修改 my.cnf 跳过密码 和修改 docker.cnf 跳过密码skip-grant-tables

命令行执行 mysqld_safe --skip=grant-tables &

一般情况这个能修改

UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root';

以上操作都修改不了 ,因为 mariadb10.4以后吧 不能修改了
所以正解

FLUSH PRIVILEGES;
set password for 'root'@'localhost' = 'mypassword';

关键操作需要 FLUSH PRIVILEGES

你可能感兴趣的:(docker,mariadb,容器)