备份一下,免得以后找不到
原文:MySQL8修改密码步骤_才华抛物线19的博客-CSDN博客_mysql8修改密码
一、免密登录:
1、修改mysql配置文件(配置文件位置:/etc/my.cnf ),在配置文件中添加一行:
skip-grant-tables
2、重启mysql后免密登陆进入mysql
注意:在免密登录模式下,是不能给root设置密码的
二、修改mysql密码
1、查看当前认证方式以及用户,默认是 caching_sha2_password 认证
select host, user, authentication_string, plugin from user;
如果是默认认证方式,则修改为密码认证为 mysql_native_password
可以直接用sql修改:
update user set plugin = 'mysql_native_password' where user = 'root';
也可以在配置文件中添加下面的语句后重启:
default_authentication_plugin=mysql_native_password
2、不能直接修改密码,会报错。要先清空root密码
update user set authentication_string='' where user='root';
flush privileges;
退出mysql, 删除/etc/my.cnf文件里的 skip-grant-tables ,重启 mysql 服务,再次登陆的时候是空密码登陆:
mysql -u root -p
登陆后即可修改密码了:
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
三、用docker部署的mysql
1、如果进入docker容器后,不能使用vi命令,可以将容器内的配置文件拷贝到本机上修改
docker cp 容器id:容器中文件的路径 本机目的路径
2、将本机修改后的文件传入容器内替换
docker cp 本机文件路径 容器id:容器内文件路径
3、重启容器
docker restart 容器id