这两天在自己的windows7上安装了一下MySQL数据库,安装使用的是5.7.18版本的 noinstall Zip Archive安装包mysql-5.7.18-win32.zip。由于5.7版本相对5.6版本发生了一下变化,很多网上的安装教程都失效了,因此在安装过程中遇到了一系问题,在这里根据自己查看的官方文档和实际的解决过程,整理了一下高版本的MySql的安装步骤,希望对大家有所帮助。详情步骤如下:
1.下载安装包
从https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-win32.zip路径下载安装包,并解压:
使用noinstall Zip Archive安装包有一个好处是:安装过程相对简单,不用像msi安装包那样需要一步一步执行可视化的安装步骤。
注意:从5.7.7版本开始,安装包中就不包含data目录了,data目录需要初始化才能生成(mysql官方原文:As of 5.7.7, Windows installation operations performed using the Noinstall
package do not include a data directory.)。此外,从5.7.18版本开始,因为.ini配置文件不再包含在分发包中。
2.初始化data目录
为了初始化data目录,你可以调用mysqld --
initialize
或者
mysqld-initialize-insecure
,
这两者的区别是
mysqld
--
initialize
会生成一个随机密码,该密码存在于
mysql
错误日志文件中,而
mysqld-initialize-insecure
会为
root'@'localhost
创建一个空密码,以后在连接数据库时可以不必输入密码。
官方建议使用
mysqld-initialize-insecure
,以防止你在连接数据库过程中忘记密码。初始化data
目录过程如下:
2.1 以管理员身份运行cmd.exe
2.2 执行: mysqld --
initialize
进入D:softwaremysqlmysql-5.7.18-win32in,
由于之前我已经执行过此操作,初始化过data目录,因此这里提示已经存在了。如果你是第一次执行了该操作,你会看到D:softwaremysqlmysql-5.7.18-win32目录下多了data目录。
2.3查看随机密码
由于我是使用mysqld --
初始化并产生的data目录,因此会生成随机密码,写入错误日志文件:D:softwaremysqlmysql-5.7.18-win3data目录下以*.err命名的文件,写入格式为: A temporary password is generated for root@localhost: 2RHHs?elM3h*。initialize
3.安装mysql
D:softwaremysqlmysql-5.7.18-win32in> mysqld -install
会提示success。注意:如果 install denial,要需要你的cmd是以管理员打开。
4.启动服务
D:softwaremysqlmysql-5.7.18-win32in>net start mysql
想要停止服务,执行net stop mysql命令
5.修改环境变量
将D:softwaremysqlmysql-5.7.18-win32in路径添加到系统环境变量中,这样做的原因是以后直接在cmd登录路径下连接和运行mysql命令,而不必每次都重新进入先cd D:softwaremysqlmysql-5.7.18-win32in,然后才能执行mysql 命令。如何在windows下设置环境变量的步骤如下:
5.1 新建环境变量MYSQL_HOME
计算机-》右键属性-》高级系统设置-》高级-》环境变量-》系统变量-》新建:
创建名为MYSQL_HOME,值为D:softwaremysqlmysql-5.7.18-win32的环境变量。
5.2 在Path变量中添加%MYSQL_HOME%in
在Path变量中添加“%MYSQL_HOME%in;”,确定。
6. 连接数据库
完成mysql安装,并设置环境变量以后,可以运行cmd.exe,执行连接命令。
1) 如果你是通过--initialize初始化的data目录,在连接时,需要输入随机密码。
- shell>
mysql -u root -p
Enter password:
(enter the random root password here)
如果忘了随机密码,可以去*.err错误日志文件中找到随机密码。如果你的*.err不慎被你删了,那么请参考第8节,修改密码。
2) 如果你是通过--initialize-insecure
初始化的data目录,可以不适用密码。
- shell>
mysql -u root --skip-password
7.连接测试
连接成功时,可以执行status;命令看一下数据库的配置。
8.修改密码
方法一:(使用场景:连接成功后,设置新的密码)
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
方法二:(使用场景:忘了密码,怎么找也找不到)
1、启动服务后, C:windowsSystem32>mysql -u root -p
会提示 ”Access denied for user ‘root’@’localhost’ (using password: YES)”拒绝登录。不然登录。
2、莫慌,接下来先net stop mysql (停止服务),跳过他的权限表检查的方法是:C:windowsSystem32>>mysqld –skip-grant-tables
3、重新打开一个cmd,bin 目录下,输入mysql回车,出现mysql>提示符,输入 use mysql;
4、修改密码
update mysql.user set authentication_string=password(‘123qaz’) where user=’root’ and Host = ‘localhost’;
5、刷新: mysql> flush privileges;
6、quit 注销系统。
7、重新连接,输入新密码。
至此,在windows7平台下安装MySQL的过程完美结束。
参考文档:
https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html