目录
本文所有操作都是在linux系统下进行的,使用的终端工具是Xshell或MobaXterm
在docker容器中的mysql镜像修改密码,本文的方法也适用
sudo systemctl stop mysqld
vi /etc/my.cnf
在文件最下面一行添加如下标识,表示登录mysql时跳过密码验证
skip-grant-tables
- :w+回车 //保存(不退出)
- :q!+回车 //强制退出(不保存)
- :wq+回车 //保存并退出
sudo systemctl start mysqld
注意:此次登录不再需要输入密码了,直接回车
mysql -uroot -p
注意:在linux中执行sql语句,一定要在sql语句最后加 ; 然后回车
update mysql.user set authentication_string = '' where user = 'root';
quit; #退出mysql
再次修改my.cnf文件,去除skip-grant-tables
sudo systemctl restart mysqld
这里修改的是远程连接时用的密码(可以与"本机连接"设置为相同的)
alter user 'root'@'%' identified with mysql_native_password by '新密码';
这里修改的是本机连接时用的密码(可以与"远程连接"设置为相同的)
alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
flush privileges;
quit;