您的位置:首页 > 数据库 > MySQL

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

2015-10-03 02:11 711 查看
我们常常在安装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

Enter password:

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

不输密码回车,出现连不上的错误,说明密码不为空。

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 setpassword=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>

表明修改成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: