64位操作系统最好安装64位的mysql数据库,充分利用内存的寻址能力,对于windows而言,mysql官网只提供了32位的MSI安装程序,因为在windows下安装64位的mysql,选择解压版安装。
1.官网下载mysql 5.7 64位
解压到D:mysql-5.7.12-winx64mysql-5.7.12-winx64
启动服务
net start MySQL
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603171935524-1390801239.png)
2.拷贝my-default.ini,重命名为my.ini
my.ini中填写如下内容:
[mysqld] basedir=D:mysql-5.7.12-winx64mysql-5.7.12-winx64 datadir=D:mysql-5.7.12-winx64mysql-5.7.12-winx64data port = 3306
3.输入如下命令,生成初始化库
mysqld --initialize --user=mysql --console
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172242555-1478882866.png)
出现错误的原因:
删除c:和c:windows下的my.ini,mysql默认会先从这些目录下找默认的配置文件,导致上面的错误。
删除c:和c:windows下的my.ini文件后执行命令
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172318883-667553806.png)
红框内为root用户的随机生成的密码:j#<c*r*eJ5N;
生成系统数据库文件到配置文件指定目录
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172359633-1946609294.png)
4.注册服务,启动
注册mysql服务
D:mysql-5.7.12-winx64mysql-5.7.12-winx64inmysqld --install MySQL --defaults-file="D:mysql-5.7.12-winx64mysql-5.7.12-winx64my.ini"
net start MySQL
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172521227-1083660628.png)
5.修改root密码
mysql -u root -p
用之前生成的root密码:j#<c*r*eJ5N; 连接。
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172838180-502157657.png)
不允许执行此操作,必须重置root密码
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172907071-41367936.png)
SET PASSWORD = PASSWORD('你的新密码');
在 mysql-5.7.12 中, 系统的 user 表中没有 password 这一列了, 在 mysql-5.6.* 中还有。
以前我们用 mysql-5.6.* 的时候, 直接用 update 语句来更新root密码。
这种方法在 mysql-5.7.12 中没法用了, 我们只能用 SET PASSWORD = PASSWORD('你的新密码'); 来修改密码。 修改完密码之后, 需要重启 MySQL 服务才生效。
修改root密码
set password = password('123456');
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603172936289-1651014843.png)
重启mysql服务
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603173002633-1575084278.png)
重新登录
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603173025930-1168683955.png)
重新执行命令,ok
![](https://images2015.cnblogs.com/blog/345832/201606/345832-20160603173052602-974435355.png)