赞
踩
从官网上下载mysql-5.7.26-winx64.zip,将其解压,我暂且把它解压到C盘根路径下
(1)首先在解压目录下新建一个my.ini文件,填写文件内容如下
- [mysqld]
- # 设置mysql客户端默认字符集
- default-character-set=utf8
-
- # 禁止DNS解析
- skip-name-resolve
-
- # 使其登录时跳过权限检查,下面的这一行在我们完成密码修改后要注释掉或者去掉
- skip-grant-tables
-
- # basedir代表自己MySQL的安装根目录
- basedir = C:\\mysql-5.7.26-winx64
-
- # datadir代表自己MySQL的数据库保存的目录,如果没有在MySQL安装的根目录下新建一个data文件夹?
- datadir = C:\\mysql-5.7.26-winx64\\data
-
- # port代表端口号
- port = 3306
-
- # 服务端使用的字符集默认为8比特编码的latin1字符集
- character-set-server=utf8
-
- # 创建新表时将使用的默认存储引擎
- default-storage-engine=INNODB
-
- sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
(2)打开命令窗口(管理员),注意一定要是管理员下的命令窗口,将目录切换到MySQL的根目录
cd C:\mysql-5.7.26-winx64\
(3)执行以下命令
bin\mysqld --defaults-file=my.ini --initialize-insecure
注意如果这里出现(由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。)
那么请访问下面的连接进行安装vcredist即可解决
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
(4)进行安装
bin\mysqld --install
(5)配置环境变量
1)新建MYSQL_HOME变量,设置为C:\mysql-5.7.26-winx64
2)将MYSQL_HOME变量添加进Path,Path尾部添加 ;%MYSQL_HOME%\bin
(6)再尝试启动MySQL服务,在命令行窗口执行net start mysql,看看自己的MySQL服务是否能成功启动了!
(7)使用 mysql -u root -p进行登录(Enter password那里,初始密码为空,直接回车就行)
(8)最后很重要,进去之后一定要设置密码,不然mysql会生成随机密码,第二次就进不去了!5.7.9设置密码的方式有一些变化,老版本密码是保存在mysql数据库user表的password中,而5.7.9的password字段变为了authentication_string,直接sql命令更改其值,再重启mysql服务即可!
依次执行命令如下(设置密码为123456):
use mysql;
update user set authentication_string="123456";
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
exit;
至此,我们完成了windows下安装mysql的过程,不要忘记将my.ini里的skip-grant-tables注释掉哦
此时如果你注释掉skip-grant-tables后进行连接可能出现Host 'localhost' is not allowed to connect to this MySQL server
不用担心我们继续将skip-grant-tables打开重启mysql
在命令行中使用:mysql -u root
登入mysql后执行下面的授权语句
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED by '123456';
如果你出现如下打印
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
那么我们需要先flush一下再执行
flush privileges;
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED by '123456';
注意这里%代表任何ip都可以进行登陆,登陆所需的密码为123456。
上述操作完成后,记得将skip-grant-tables注释掉然后重启mysql,看看是否可以正常登陆了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。