最近重装了mysql,版本是8,在改密码时出现了一些问题,在此记录一下。
MySQL5:
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);
方法2:用mysqladmin
mysqladmin -u root password “newpass”
如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass “newpass”
方法3: 用UPDATE直接编辑user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘newpass’) WHERE user = ‘root’;
mysql> FLUSH PRIVILEGES;
如果丢失了root密码:
mysqld_safe –skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE user=’root’;
mysql> FLUSH PRIVILEGES;
MySQL5.7改密码无password字段:
这是我一开始遇到的问题,进入user表发现没有password字段,搜到了这个方法,但没有解决。
mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
将更改语句替换为update MySQL.user set authentication_string=password(‘root’) where user=’root’ ;
MySQL8:
最后发现8和5的更改方法区别挺大
1.mysql -u root -p ‘原来的密码’ //进入数据库中
2.show databases;
3.use mysql;
4.使用下面的语句修改密码:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的新密码’
5.退出,使用新的密码登录