MySQL在Windows平台下忘记root密码的解决办法

我们常常在安装MySQL时没有注意到设置root密码,或者有的MySQL版本安装后不知道root默认密码是多少,或者设置了又忘记了,有的又没有设置登录权限。从安装开始说明,从MySQL官网下载Windows版的ZIP包,当前版本mysql-5.6.27-winx64.zip,手动安装配置。

1.      安装过程

1.1   解压后放置到目录D:\Program Files (x86)\mysql-5.6.27-winx64,将到bin的路径加入环境

变量。

1.2   修改配置文件

将my-default.ini文件改名为my.ini,配置以下几项

[mysqld]

port = 8585

lower_case_table_names = 0

basedir = "D:\Program Files(x86)\mysql-5.6.27-winx64\"

datadir = "D:\mysqldata\"

log-bin = "D:\ mysqldata \logbin.log "

binlog_format = mixed

character-set-server = utf8

default-storage-engine = INNODB

max_connections = 300

sql_mode= "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

并将安装目录下的data目录中的数据拷入mysqldata中,数据文件就分存放到mysqldata中了。

1.3   安装服务

Win8下以管理员身份运行命令安装服务,转到D:\ProgramFiles (x86)\mysql-5.6.27-winx64\bin目录

mysqld ––install

Service successfully installed.

1.4   启动服务

net start mysql

MySQL 服务正在启动 .

MySQL 服务已经启动成功。

停止服务用命令net stop mysql

1.5   测试一下用root用户本机登录,命令行动行

mysql –uroot –p -P port  

Enter password:

ERROR 2003 (HY000): Can't connect to MySQLserver on 'localhost' (10061)

不输密码回车,出现连不上的错误,说明密码不为空,注意,这里如果必变了mysql默认的监听端口,这里要带上端口号。

1.6   安全模式启动mysql,跳过权限验证

停掉mysql服务,运行命令

mysqld –skip-grant-tables

之后窗口就卡在这里了,然后另开一个命令行窗口运行

mysql –uroot –P 8585回车直接进去(或者直接mysql–P 8585也可以,因为前面改了默认端口号,注意这里要带上端口号)

use mysql

select user,Host from user;

mysql> select Host,user from user;

+-----------+------+

| Host     | user |

+-----------+------+

| 127.0.0.1 | root |

| ::1      | root |

| localhost |      |

| localhost | root |

+-----------+------+

4 rows in set (0.00 sec)

检查一下hosts文件

# localhost name resolution is handledwithin DNS itself.

#       127.0.0.1       localhost

#       ::1             localhost

去掉127.0.0.1前面的#号

怎一看,有一个空的用户名,还有三个名字为root的用户名,先删掉其它三个用户名,保留localhost root用户

修改密码

mysql> update user set password=password('123456') where user='root';

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.13 sec)

1.7   关闭安全模式窗口,进程中结束掉mysqld.exe进程,退出cmd窗口。

启动MySQL服务,测试root用户本地登录

mysql -uroot -P8585 -p

Enter password: ******

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.27-log MySQL CommunityServer (GPL)

 

Copyright (c) 2000, 2015, Oracle and/or itsaffiliates. All rights reserved.

 

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

 

mysql>

 

表明修改成功。

你可能感兴趣的:(mysql应用开发)