Linux mysql的若干密码修改方法
根据mysql的版本,以mysql5.7为界限,密码修改方法有很多种。这里的密码是指的root用户的密码,望周知。
mysql5.7以前:
1.mysql -u root -p
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
注意,这个方法不分版本,5.7前后都可以用,只是5.7后的密码验证强度比较高,需要密码设置复杂。
2. 直接修改数据库内的密码表:
mysql -uroot -p
UPDATE mysql.user SET Password = PASSWORD('密码') WHERE user = 'root';
flush privileges;
3,修改权限的同时修改密码
mysql -uroot -p
grant all privileges on *.* to root@'localhost' identified by '密码';
注意,这个方法也不区分版本,5.7版本前后都可以用
4.直接指定用户密码:
mysql -uroot -p
alter user 'root'@'localhost'IDENTIFIED BY '密码';
==============================================================================================
mysql5.7版本之后:
直接修改数据库内的密码存放表
mysql -uroot -p
update mysql.user set authentication_string=password('hwg123') where user='root' and Host = 'localhost';
flush privileges;
上面的第一和第三种方法。
第四种方法:
mysql -uroot -p
alter user 'root'@'localhost'IDENTIFIED BY '123456';
总结:
当然,还有使用mysqladmin 命令修改密码,但该方法有sock文件限制,不推荐不建议使用。
以上方法都是需要登录数据库之后再操作,那么,如果忘记mysql的密码,如何找回密码呢?
修改my.cnf文件,在mysqld 标签下添加字段 skip-grant-tables
重启mysql服务,就可以免密码登录了,然后按上面的四种方法任选一种更改密码,更改完毕后,恢复配置文件即可。