登录mysql执行以下语句
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
出现Query OK, 0 rows affected (0.36 sec),表示修改成功。
通过mysqladmin修改密码
root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下:
mysqladmin -u username -h hostname -p password "newpwd"
语法参数说明如下:
usermame 指需要修改密码的用户名称,在这里指定为 root 用户;
hostname 指需要修改密码的用户主机名,该参数可以不写,默认是 localhost;
password 为关键字,而不是指旧密码;
newpwd 为新设置的密码,必须用双引号括起来。如果使用单引号会引发错误,可能会造成修改后的密码不是你想要的。
警告:由于密码将以明文形式发送到服务器,请使用ssl连接以确保密码安全。
在忘记密码的情况下如何强制修改密码,我在此提供一种办法。
1. 以超级管理员打开cmd,关闭mysql服务
net stop mysql
2. 跳过权限验证登录mysql
mysqld --shared-memory --skip-grant-tables
3. 在新的窗口中登录mysql
使用命令:
mysql -u root -p
无需输入密码,直接回车即可。
4. 切换到mysql,将密码置空。
use mysql;
update user set authentication_string='' where user='root';
然后刷新权限:
flush privileges;
5. 设置加密规则并更新新密码,授权(直接复制这些SQL语句你的密码会更新为123456)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to "root"@'localhost';
flush privileges;
6. 设置成功后,重启mysql服务,使用新密码登录
net start mysql