1.打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址(linux下是在/usr/local/mysql/bin)mysql
2.打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。linux
3.输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令以后命令行就没法操做了,此时能够再打开一个新的命令行。注意:在输入此命令以前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。(linux可在/etc/my.cnf文件在[mysqld]这个条目下加入skip-grant-tables(登陆时不使用受权表),保存,重启mysql)sql
4.而后直接输入mysql,不须要带任何登陆参数直接回车就能够登录上数据库。数据库
5.输入show databases; 能够看到全部数据库说明成功登录。服务器
6.其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。函数
7.show tables查看全部表,会发现有个user表,这里存放的就是用户名,密码,权限等等帐户信息。命令行
8.输入select user,host,password from user; 来查看帐户信息。进程
9.更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';ip
注意:网上查了一下听说5.7 版本password 字段改为authentication_string password函数仍是原来的password函数cmd
mysql> update user set authentication_string=password('123') where user='root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1
而后执行 flush privileges;
10.再次查看帐户信息,select user,host,password from user; 能够看到密码已被修改。
11.退出命令行,重启mysql数据库,用新密码尝试登陆。