比如你下载的mysql位于目录:E:\dbms\mysql下 ---该目录下文会用到。
如果你有mysql应用经验,你肯定配置过my.ini文件,比如修改IP或者Port等信息; 如果你从未用过mysql,也没关系,你需要知道mysql会在my.ini文件加载初始化配置信息; 注:实际上,你也可以不采用配置文件,但你必须每次启动mysql时都输入你的配置信息,所以建议采用my.ini配置文件的方式,而且该文件必须是 纯文本 的。
mysql服务在启动的时候,会在多个位置(以后会详细介绍)查找配置文件,为了能快速的启动mysql,这里只介绍简单的配置该文件。
1.在E:\dbms\mysql目录(就是你的mysql根目录)下新建my.ini纯文本文件,用记事本或sublime(介绍看这里)打开;
2.输入以下内容:
你可能发现你的目录中没有data目录,这是因为mysql从5.7.6开始,zip archive中不再包含data目录,怎么办?
--手动新建一个就可以,而且可以放在任何位置,但内容必须是空的(非空也可以,以后介绍)。
--实践证明:不用手动创建该目录,但需要在配置文件配置路径,初始化时会自动创建该目录!!!!
[mysqld] explicit_defaults_for_timestamp=1 basedir=E:\\dbms\\mysql datadir=E:\\dbms\\mysql\\data
a.[mysqld]:表示该组配置只对mysql服务(还有配置客户端的,暂时不需要了解,以后会介绍)有效;
b.explicit_defaults_for_timestamp=1:简单说是配置数据库timestamp类型的处理方式,详细介绍点这里【讲解】;
c.basedir和datadir分别对应mysql的主目录和最终保存数据库的目录,注意双反斜线(\\);
----2017-7-6:经过测试,basedir 和 datadir 这两项可以不配置,mysql默认会在当前目录查找相关文件,这样方便以后拷贝,不需要每次都修改路径;但是如果你的data放在其他位置,那么必须配置;
以上配置有个概念就可以,以后会详细介绍配置文件,当前目标是快速启动mysql。
现在准备工作基本完成,你通过双击%basedir%\bin\mysqld.exe发现,根本没办法启动服务,怎么办?接下来,我们执行初始化。
1. win+r打开运行,输入cmd,打开命令行程序;
2. 使用cd命令进入basedir目录(也就是你的mysql目录);
3. 输入bin\mysqld --initialize直接回车,执行初始化...稍等一会就OK了,很快
如下图:
注:
a. --initialize :初始化时,会生成一个root用户和一个随机的密码,并且密码设置为过期,需要你立即修改密码。
######密码在哪里?
这就是箭头4指向的就是随机密码。
b. --initialize-insecure :另外,你也可以使用该配置初始化,但这种方式会生成一个root用户,并且密码是空(第一次登录密码空即可),同样需要你立即修改密码,不详细介绍,你可以自己试试;
Ok,现在已经初始化完成!
接下来,我们启动mysql服务,并登录mysql,修改用户密码。
1. win+r,输入cmd,进入命令行程序;
2. 使用cd命令进入%basedir%目录(也就是你的mysql目录);
3. 输入bin\mysqld,启动mysql服务 (没什么意外的话,你应该可以正常启动),整个命令窗口卡住了?没关系, ctrl+shift+esc 打开任务管理器,查看mysqld进程,如果存在,恭喜!
注:你可以通过查看basedir\data\***.err文件,查看启动日志;或者你可以通过bin\mysqld --console启动mysql服务,这样日志会直接打印到命令窗口;
4. 重复执行1、2过程,打开一个新的窗口;
5. 执行bin\mysql -u root -p回车,输入随机密码(其实你可以复制粘贴)进入mysql;
6. 成功的话,你会发现前缀改成了 mysql> ;
7. 修改密码:mysql>alter user 'root'@'localhost' identified by 'new pwd';回车(别忘了最后的分号;);
整个过程见下图:
OK,到这里,整个数据库的初始化过程就算完成了!