本文最后更新于 2022年7月5日 14:42 可能会因为没有更新而失效。如已失效或需要修正,请留言
以root身份登录。
一、拥有原来的myql的root密码;
方法一:
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123" Enter password: 【输入原来的密码】
方法二:
通过登录mysql系统,
# mysql -u root -p Enter password: 【输入原来的密码】 mysql> use mysql; mysql> update user set password = Password('test') where User = 'root'; mysql> flush privileges; mysql> exit;
mysql 5.7:
# mysql -u root -p Enter password: 【输入原来的密码】 mysql> use mysql; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; mysql> flush privileges; mysql> exit;
or
# mysql -u root -p Enter password: 【输入原来的密码】 mysql> use mysql; mysql> set password for 'root'@'localhost' = password('你的密码'); mysql> flush privileges; mysql> exit;
二、忘记原来的myql的root的密码;
在my.conf中,[mysql]的段中添加一句:
skip-grant-tables
保存退出,重启mysql
/etc/init.d/mysqld restar
or
service mysql restart
使用命令进入mysql:
mysql -u root -p
按两下回车进入mysql
mysql> use mysql; mysql> update user set password = Password('123456') where User = 'root';
注意:CentOS7的password的字段修改了
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
重新编辑/etc/my.cnf
删除或者注释掉skip-grant-tables
重启服务 ok