我们常常在安装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>
表明修改成功。