在Windows安装Mysql
前提回顾:
由于需要开发新的项目,项目经理给了我一台新的电脑去搭建环境,其中在安装mysql时,遇到了很多问题,在此记录,以便下次安装。
安装环境:
操作系统:windows10 64位
安装版本:mysql.5.7.29 64位
安装包:mysql-5.7.29-winx64.zip (直接解压即可使用,免安装版)
安装过程:
安装过程我是参考断笔书生的博客,感谢这位博主,参考链接如下:
https://www.cnblogs.com/magichu/p/12357482.html
注意:安装之前一定要确认,是否已经安装过,如果已经安装,但是版本不对,一定要先卸载之后,再安装想要的版本
安装问题:
执行mysqld --initialize-insecure --user=mysql命令生成data文件报错,如下:
D:\software\mysql-5.7.29-winx64\bin>mysqld --initialize-insecure --user=mysql mysqld: Can't create directory 'D: oftware\mysql-5.7.29-winx64\data\' (Errcode: 2 - No such file or directory) 2021-03-02T06:46:16.993435Z 0 [ERROR] Can't find error-message file 'D:\software\mysql-5.7.29-winx64\bin\ oftware\mysql-5.7.29-winx64\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive. 2021-03-02T06:46:16.994952Z 0 [ERROR] Aborting
原因是:my.ini文件中的basedir和datadir中的文件分隔符所致,如果分割符是\,请改为\\或/
在后续执行其它命令时也会报错,比如启动服务,所以一定要注意分割符是否错误
# 设置为自己的MYSQL的安装目录 basedir=D:/software/mysql-5.7.29-winx64 # 设置为自己的MYSQL的数据目录 datadir=D:/software/mysql-5.7.29-winx64/data
安装总结:
1.生成data文件
第一种方式生成data文件:
解压安装包后,可以先不创建my.ini,直接先生成data文件,执行生成data文件命令之前,可以不用创建data目录,执行命令会自动创建。
#生成data文件,root密码为空
D:\software\mysql-5.7.29-winx64\bin>mysqld --initialize-insecure --user=mysql
D:\software\mysql-5.7.29-winx64\bin>
此时查看D:\software\mysql-5.7.29-winx64\data\***.err文件(找后缀为err的文件即可),会发现含有如下信息:
2021-03-02T06:59:48.153125Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
说明此命令下的root用户的密码为空
第二种方式生成data文件:
#生成data文件,root的密码为随机密码 D:\software\mysql-5.7.29-winx64\bin>mysqld --initialize D:\software\mysql-5.7.29-winx64\bin>
此时查看D:\software\mysql-5.7.29-winx64\data\***.err文件(找后缀为err的文件即可),会发现含有如下信息:
#&RjqqpQN#5hM即为root用户登录的密码
2021-03-02T07:14:03.897587Z 1 [Note] A temporary password is generated for root@localhost: &RjqqpQN#5hM
2.Mysql服务常用命令
#第一种方式:删除msyql服务 mysqld -remove mysql #第二种方式:删除mysql服务 sc delete mysql #查询mysql服务的状态 sc query mysql #第一种方式:启动mysql服务 net start mysql #第二种方式:启动mysql服务 sc start mysql #第一种方式:停止mysql服务 net stop mysql #第二种方式:停止mysql服务 sc stop mysql
3.修改密码
#修改密码 set password for root@localhost=password('自己的密码'); #保存密码至数据库 flush privileges;
4.忽略密码
#在my.ini文件中的[mysqld]最后一行,添加如下命令可以忽略密码,添加之后需要重启mysql服务 skip-grant-tables
5.服务没有响应控制功能
1.在运行生成data文件目录时,如果报如下错误:
由于找不到MSVCR120.dll,无法继续执行代码.
2.在启动mysql服务时,报如下错误:
服务没有响应控制功能。
请键入 NET HELPMSG 2186 以获得更多的帮助。
如上两种错误的出现,都是因为vcredist_x64.exe没有安装,或者版本过低导致的,重新安装该程序即可。