更改数据库密码 原密码已知 1.使用mysqladmin命令修改密码 # mysqladmin -u root -p password "新密码" Enter password: "旧密码" 2.mysql系统登陆 # mysql -uroot -p Enter password: (1)登陆系统后首次设置密码 mysql> set password=password("新密码"); mysql> flush privileges; mysql5.8版本设置语句 mysql> set password="password"; mysql> flush privileges; (2)修改用户密码 mysql> update user set authentication_string="test" where user='root'; #_# 该命令可不使用 mysql> alter user 'root'@'%' identified by 'test'; mysql> flush privileges; Mysql的版本是5.7及以上的话update语句 mysql> update user set authentication_string=password("新密码") where user='root'; mysql> flush privileges; (3)修改当前用户密码 mysql> alter user user() identified by '新密码'; mysql> flush privileges; ----------------- 原密码未知 1.在配置文件添加skip-grant-tables来修改密码 !!注意:该方法需要重启mysql服务,请谨慎使用!! # sed -i '/\[mysqld\]/a\skip-grant-tables' PATH/ my.cnf # systemctl restart mysqld.server # mysql -uroot ... mysql> update user set authentication_string=password("新密码") where user='root'; mysql> flush privileges; mysql> exit; # sed -i 's/^skip-grant-tables/#skip-grant-tables/g' PATH/my.cnf # systemctl restart mysqld.server 2.通过其它对mysql.user表拥有修改权限的用户修改 # mysql -u username -p ... mysql> update user set authentication_string=password("新密码") where user='root'; mysql> flush privileges; mysql> exit; 3.使用mysql_safe修改(5.7版本) !!注意,此为二进制安装的mysql!! 首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop; !!注意:该方法需要重启mysql服务,请谨慎使用!! # systemctl stop mysqld.server / #kill -9 ****(mysqld进程pid) # mysqld_safe --skip-grant-tables & # mysql ... mysql> use mysql; mysql> UPDATE user set authentication_string=password("新密码") WHERE user='root'; mysql> flush privileges; mysql> exit;